Вопросы по теме 'linkage'

Не-внешняя функция с C-связкой
Можно ли объявить функцию с привязкой C без внешней привязки? При попытке скомпилировать extern "C" static void f() {} я получил f.cc:1: error: invalid use of 'static' in linkage specification что в некотором роде имеет смысл. В...
4655 просмотров
schedule 14.09.2021

Разрешить сторонний путь dll во время выполнения
Я разрабатываю приложение, которое зависит от некоторых сторонних dll (на самом деле это плагин к стороннему приложению, и я получаю COM-объекты, реализующие определенные интерфейсы, объявленные в этих dll). Мой проект содержит ссылки на эти...
226 просмотров
schedule 10.09.2021

Область действия (const) переменной, если не определена как extern или static
У меня есть несколько постоянных переменных, которые я хочу сделать глобальными, и некоторые из них должны быть доступны только в том файле, в котором они определены. Поэтому я использую ключевые слова extern и static, например: extern const int...
53 просмотров
schedule 21.11.2021

Неопределенные символы для архитектуры x86_64 dylib linkage
Я пытаюсь скомпилировать свой проект на C ++, который включает dylib (этот dylib - еще один личный проект). Я настроил весь свой проект xcode, добавив dylib на этапе сборки (и добавив заголовки), но у меня все еще есть « Неопределенные символы для...
424 просмотров
schedule 16.10.2021

Как проверить, предоставляет ли библиотека общих объектов все ссылки для файла заголовка?
Как я могу позволить GCC проверить, предоставляет ли библиотека общих объектов определения для всех функций, которые были объявлены в файле заголовка? Учитывая приведенный ниже пример, как я могу проверить на этапах компиляции, что mylib.h и mylib.c...
889 просмотров
schedule 15.09.2021

В чем смысл внутренней компоновки в C ++
Я понимаю, что существует три возможных значения связи для переменной в C ++ - без привязки, внутренней связи и внешней связи. Таким образом, внешняя связь означает, что идентификатор переменной доступен в нескольких файлах, а внутренняя связь...
1250 просмотров
schedule 19.10.2021

Ссылки на статические объекты во встроенных функциях с внешней связью
6.7.4 указывает как ограничение что : Встроенное определение функции с внешней связью не должно содержать определения модифицируемого объекта со статической или поточной продолжительностью хранения, а также не должно содержать ссылку на...
89 просмотров
schedule 21.11.2021

Связывание внутренних и внешних переменных из одного файла с двумя отдельными функциями в отдельных файлах
У меня есть один файл, в котором я определил две глобальные переменные: одну с внутренней связью и одну с внешней связью следующим образом: файл linkage01.c: #include <stdio.h> int external_linkage = 1; static int internal_linkage = 2;...
59 просмотров
schedule 24.09.2021

Что такое идентификаторы в C?
Каждый поиск Google объясняет их как просто имена для ваших переменных, но я чувствую, что существует различие между идентификатором и именем идентификатора. Идентификатор больше похож на объект с такими атрибутами, как имя, область действия, связь и...
65 просмотров
schedule 11.10.2021

О несовместимой компоновке dll
Как я могу удалить это предупреждение о ссылке? Вы можете увидеть сегмент кода, который вызывает это предупреждение. static AFX_EXTENSION_MODULE GuiCtrlsDLL = { NULL, NULL }; //bla bla // Exported DLL initialization is run in context of running...
102841 просмотров
schedule 18.02.2022

Как вы можете разделить внутренний набор функций между единицами перевода, не имея внешней связи?
Допустим, вы пишете библиотеку и у вас есть набор служебных функций, которые вы написали только для себя. Конечно, вы не хотели бы, чтобы эти функции имели внешнюю связь, чтобы они не были перепутаны пользователями вашей библиотеки (в основном...
212 просмотров
schedule 21.02.2022

Ошибка: шаблон со связью C и специализация шаблона со связью C при включении ‹atomic›
Предыстория проблемы: В ProjectA agent_multi_threading.hpp включен в agent.h . В ProjectB я пытаюсь включить agent.h в processing_core.h . ProjectA написан на C, а ProjectB — на C++. В приведенном ниже коде показана иерархия...
1219 просмотров
schedule 20.03.2022

c внешняя неопределенная ссылка
Прошу прощения за то, что я уверен, является простой ошибкой. Но через несколько часов я не могу понять, что я делаю неправильно. Я понимаю, что extern нужно объявить вне функции и определить внутри функции. Но я не могу заставить его работать....
92 просмотров
schedule 14.04.2022

При разрешении имен, зависящих от шаблона, не должно быть объявлений без привязки?
В стандарте c ++ [temp.point] написано: Контекст создания экземпляра выражения, который зависит от аргументов шаблона, - это набор объявлений с внешней связью , объявленный до точки создания экземпляра специализации шаблона в той же единице...
174 просмотров

перемещение R_X86_64_32S против `.text' не может использоваться при создании общего объекта
Я компилирую статическую библиотеку, в которой используется встроенный ассемблерный код. Я заметил, что когда я использую метки для инструкции jmp : int foo(){ asm volatile ( "mov 0x60(%r8),%r11d\n\t" "jmp *S_401a70\n\t"...
1921 просмотров

Связывание символов в анонимном пространстве имен в обычном пространстве имен
В C++ размещение функции или переменной в анонимном пространстве имен делает их связь внутренней, т.е. е. то же самое, что объявить его static на уровне файла, но идиоматически C++. Как насчет анонимного пространства имен внутри обычного...
8721 просмотров
schedule 01.05.2022

Определяет ли inline внутреннюю связь?
Я пытаюсь внедрить встроенную функцию. Как я думал, это должно работать: //a.cpp inline void f(int) {} //b.cpp extern void f(int); int main() { f(4); } Но получаю ошибку ссылки. Затем, прочитав это (" 1) должно быть объявлено inline в...
751 просмотров
schedule 17.05.2022

Объявление статического члена со статической связью
У меня есть класс С++, который объявляет один статический член. Весь класс содержится в заголовочном файле, и я бы предпочел не создавать файл .cpp просто для того, чтобы содержать определение статического члена. Я пытался использовать статическое...
1421 просмотров
schedule 20.05.2022

почему переменные в безымянном пространстве имен имеют внешнюю связь?
Я знаю, что безымянные пространства имен делают связь переменных внешней, но также верно и то, что к ним нельзя получить доступ из других единиц перевода. Я также знаю, что в C++ у всего есть цель. Итак, мой вопрос заключается в том, почему...
40 просмотров
schedule 02.06.2022

Скрытие состояния запрашиваемой программы без использования класса?
Рассмотрим библиотеку, экспортирующую отдельный интерфейс для инициализации, который должен быть вызван пользователем перед использованием чего-либо еще, что предоставляет библиотека. На этом этапе запрашивается определенное состояние системы и...
77 просмотров
schedule 21.07.2022