Запитання з тегом «extern»

17
Як використовувати extern для обміну змінними між вихідними файлами?
Я знаю, що глобальні змінні в C іноді мають externключове слово. Що таке externзмінна? Що таке декларація? Яка сфера застосування? Це пов'язано з обміном змінними між вихідними файлами, але як це точно працює? Де я використовую extern?

1
"FOUNDATION_EXPORT" проти "extern"
Я хотів би запитати , в чому ж причина , використовуючи FOUNDATION_EXPORTзамість того , щоб externв Objective C проектів. Я перевірив це питання і за допомогою FOUNDATION_EXPORTзаробив колосальні 340 балів (1-е місце), використовуючи externлише 74 бали (2-е місце). Хтось може пояснити, чому? Чи є якась практична причина використання FOUNDATION_EXPORTзамість extern? …

5
за допомогою шаблону Extern (C ++ 11)
Рисунок 1: Шаблони функцій TemplHeader.h template<typename T> void f(); TemplCpp.cpp template<typename T> void f(){ //... } //explicit instantation template void f<T>(); Main.cpp #include "TemplHeader.h" extern template void f<T>(); //is this correct? int main() { f<char>(); return 0; } Це правильний спосіб використання extern templateчи я використовую це ключове слово лише …
116 c++  templates  c++11  extern 

6
Що робить екстерн вбудований?
Я розумію, що inlineсам по собі є пропозицією для компілятора, і на свій розсуд він може вбудовувати функцію або не вбудовувати її, а також створюватиме об’єктний код, що зв’язується. Я думаю, що static inlineробить те саме (може, а може і не вбудовано), але не створює прив’язуваний об’єктний код, коли вбудований …

1
Чому ж названі зовнішні локальні змінні в різних блоках отримують різні зв’язки між компіляторами в c ++?
Поки я лише перевіряв, які зв’язки надаються зовнішнім локальним змінним, я виявив, що між компіляторами поводиться дещо інша поведінка наприклад, якщо я перевірив код нижче, як ви бачите в змінній коментарів vars мають різні зв'язки // foo.cpp int var = 10; // external linkage // main.cpp #include <iostream> static int …
12 c++  g++  clang++  extern  linkage 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.