Задать вопрос
  • Зачем нужны прототипы в C++?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    1)Заголовочные файлы: в них собраны прототипы функций библиотек?(и все?)

    Содержимое заголовочного файла просто подставляется в то место где написано #include. Поэтому туда можно поместить всё что угодно. Традиционно библиотеки помещают туда объявления классов, функций и глобальных переменных и определения макросов.

    2)Как компилятор находит нужные встроенные функции по прототипам если мы не включаем в cpp файл библиотеки а лишь подключаем заголовочный файл с помощью #include?

    Компилятор их не находит. Не его это работа. Он просто помещает в объектный код вызовы ссылающиеся на внешние символы. Во время линковки объектных файлов в исполняемый файл линковщик находит все вызванные функции в библиотеках которые ему передали для линковки.

    3)Я так понимаю прототипы в C++ нужны для того чтобы компилилось быстрее?

    Прототипы нужны чтобы компилировалось вообще. Нельзя вызвать функцию о которой неизвестно вообще ничего.

    4)Заголовочные файлы представляют из себя уже откомпиленый код?(объектный)

    Нет, это обыкновенные текстовые файлы с исходным кодом. Содержимое заголовочного файла просто подставляется в то место где написано #include. Открой один для интереса и почитай.

    5)Тот же вопрос что и в 4 только уже про библиотеки

    Да. Статическая библиотека -- это архив объектных файлов. Динамическая библиотека -- это собранные линковщиком вместе объектные файлы.
    Ответ написан
    3 комментария
  • Не поварачивается камера с помощью гироскопа?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Что-то вы перемудрили, Gyroscope.attitude это кватернион, а не вектор, нельзя его компоненты брать и просто так использовать. Вы пример из документации пробовали, работает?
    using UnityEngine;
    
    public class GyroscopeExample : MonoBehaviour
    {
        private void Awake()
        {
            Input.gyro.enabled = true;
        }
    
        private void Update()
        {
            transform.rotation = Input.gyro.attitude;
        }
    }

    А вообще говоря, если вы пытаетесь сделать мобильную виртуальную реальность, то для этого в настройках плеера есть специальная галочка, включаете её и вращение камеры само по себе обновляется, даже делать ничего не надо.
    rRAEI
    Ответ написан
    Комментировать
  • Где нужно писать generics в Java?

    zolt85
    @zolt85
    Программист
    В первом случае у вас будет типизированный классом Shape ArrayList и вы сможете обращаться к элементам, как к объектам Shape.
    Во втором случае у Вас будет также типизированный ArrayList, только типизирован он будет классом Object (не зависимо от того, как Вы инициализировали ArrayList), и если Вы захотите обратиться к элементу как к классу Shape, Вам придется кастовать элемент к классу Shape.

    Ну это если совсем по простому.
    Ответ написан
    Комментировать
  • Как обезопасить функцию от прерывания?

    15432
    @15432
    Системный программист ^_^
    Для таких целей вводятся дополнительные обертки над disable_irq и enable_irq, которые вычисляют "глубину" запрета прерываний. По факту просто есть глобальный счетчик, который увеличивается при каждом вызове ext_disable_irq и уменьшается при ext_enable_irq. Настоящее включение прерываний происходит в самом конце ext_enable_irq и только если счетчик в этот момент равен нулю
    Ответ написан
    5 комментариев
  • Что означают символы?

    al_gon
    @al_gon
    URL Patterns
    Ответ написан
    Комментировать
  • Как стать IOS разработчиком без продуктов Apple?

    GavriKos
    @GavriKos
    Никак.
    Ответ написан
    Комментировать
  • OkHTTP как игнорировать SSL сертификат?

    mitaichik
    @mitaichik
    Хз поможет ли, делал временное решения для работы с самоподписанными сертификатами, все ненужное вырезал оставил только суть:
    @Component
    public class ClientFactory
    {
    	@Value("${api.certificate.path}")
    	private String certificatePath;
    
    	@Value("${api.certificate.password}")
    	private String certificatePassword;
    
    	@Value("${api.params.site}")
    	private String paramSite;
    
    	/**
    	 *
    	 * @return
    	 * @throws Throwable
    	 */
    	public OkHttpClient createClient() throws Throwable
    	{
    		return new OkHttpClient.Builder()
    			.socketFactory(createSslContext().getSocketFactory())
    			.build();
    	}
    
    	/**
    	 *
    	 * @return
    	 * @throws Throwable
    	 */
    	private SSLContext createSslContext() throws Throwable
    	{
    		KeyStore ks = getCertificateKeyStore();
    
    		KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    		kmf.init(ks, certificatePassword.toCharArray());
    
    		SSLContext sslContext = SSLContext.getInstance("SSL");
    		sslContext.init(kmf.getKeyManagers(), trustAll509(), new java.security.SecureRandom());
    
    		return sslContext;
    
    	}
    
    	/**
    	 * @return
    	 */
    	private TrustManager[] trustAll509()
    	{
    		return new TrustManager[] {
    			new X509TrustManager() {
    				public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
    				public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
    				public X509Certificate[] getAcceptedIssuers() {return null;}
    			}
    		};
    	}
    }


    Самое главное здесь - подставить в SSLContext свой X509TrustManager, который тупо будет всех пропускать и ничего не проверять.

    Но!!! Это должно быть временным решением для разработки/отладки/тестов. Если вы юзаете невалидные сертификаты - что то вы делаете не так.
    Ответ написан
    1 комментарий
  • Что выбрать RxJava 1 или RxJava 2?

    @Tiberal
    RxJava 2 - очевидно же.
    Ответ написан
    Комментировать
  • Разработка нейросети под андроид?

    longclaps
    @longclaps
    Начните с простейшего приложения, например такого:
    Наводишь камерой на объект, жмёшь кнопочку и программа выводит: "объект".
    Ответ написан
    2 комментария
  • Как удалить listview?

    @Tiberal
    Зачем удалять ListView? Если вам нужно его скрыть используйте setVisibility()
    Ответ написан
    Комментировать
  • Нужен совет, по созданию списка (ListView)?

    1110001111
    @1110001111
    Посоветуйте, как бы вы хранили этот массив ?

    *барабанная дробь*
    В sql базе данных?
    Ответ написан
    Комментировать
  • Выдает ошибку на этапе выполнения. Почему?

    15432
    @15432
    Системный программист ^_^
    Потому что у вас в массиве зарезервировано всего 44 места (0...43), а вы используете 45 (0...44)
    Ответ написан
    Комментировать
  • Как в выпадающее окно добавить fragment или xml разметку??

    73656c6565
    @73656c6565
    أنتوني
    Ответ написан
    Комментировать
  • Почему лучше передавать данные через параметры функции, а не работать с ними глобально?

    arusef
    @arusef
    Novice .NET dev
    Потому что использование параметров обеспечивает чистоту функций, а значит и повышает модульность программы, переиспользуемость, и в некоторых случаях даже распараллеливание.
    Ответ написан
    Комментировать
  • C# наследование. Нужна ваша помощь?

    @kvasek
    Вы не вызвали newMethod, и значение не присвоилось.
    static void Main(string[] args)
            {
                B b = new B(); // Делаю ссылку на класс B
                <b>b.newMethod();</b>
    
                Console.WriteLine(b.new_age); // Вывожу в консоль переменную new_age из класса B
                Console.ReadKey();
            }


    Предполагаю что newMethod вы спутали с конструктором.
    Ответ написан
    1 комментарий
  • Почему не парсится json?

    @RidgeA
    в парсер передать json а не html.
    или наоборот - парсить html а не json

    тебе же красным по белому на английском написано что не то ты запрашиваешь и оно уже переехало навсегда и не надо его искать по этому адресу.
    Ответ написан
    4 комментария
  • Почему не запускается программа?

    GavriKos
    @GavriKos
    Программа не запускается, потому что есть ошибки компиляции. Чтобы правильно ссылаться на класс R, нужно подключить его к текущему файлу при помощи ключевого слова import. Ну и современные IDE умеют подсказывать что то на этот счет.

    Код файла с ошибкой на пастбин залейте - будет проще подсказать.
    Ответ написан
    Комментировать
  • Что выгоднее - встроенный Tomcat или отдельный?

    @protven
    Вы совершаете типичную ошибку новичка, вместо того чтобы учить спринг, начинаете задаваться вопросом-
    "А что выгоднее <тут какой-то абстрактный вопрос, который нужно решать уже в боевом проекте>".
    В целом это такой себе вариант проявления прокрастинации.

    У вас сейчас есть дефицит памяти при деплое ? Если да, то докупите памяти, она стоит копейки или не запускайте много экземпляров приложения и продолжайте учить спринг.
    Если нет, то продолжайте учить спринг.

    PS Разница есть, и она в пользу одного Томката на несколько приложений. Но разница ничтожная. Использовать ембеддед контейнеры сервлетов выгоднее с точки зрения микро-сервисной архитектуры. Но вам это сейчас не нужно.
    Ответ написан
    2 комментария
  • Почему цикл не выводи столбик?

    Даже если исправить все синтаксические ошибки в коде, то всё равно выражение
    arr[num - '0'] адресует область памяти перед массивом, а не сам массив, т.к. символ '0' имеет код 48.
    Ответ написан
    Комментировать