"3.88.161.108 - 3.88.161.108"

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

Linkage описывает, как имена могут или не могут ссылаться на один и тот же объект во всей программе или на единицу. Linkage особенно полезен в С++.
13 отв.

Каков эффект extern "C" в С++?

Что именно помещает extern "C" в код С++? Например: extern "C" { void foo(); }
25 июня '09 в 5:10
10 отв.

Зачем нам нужен extern "C" {#include <foo.h>} в С++?

Зачем нам нужно использовать: extern "C" { #include <foo.h> } В частности: Когда мы должны его использовать? Что происходит на уровне компилятора/компоновщика, который требует от нас его использовать? Как с точки зрения компиляции/связ...
16 сент. '08 в 2:19
7 отв.

Что означает, что имя или тип имеют определенную языковую связь?

Согласно (c) ANSI ISO/IEC 14882: 2003, стр. 127: Спецификация привязки привязки. Когда спецификация привязки привязки, самая внутренняя определяет язык. Спецификация связи не устанавливает область действия. Спецификация привязки должна выполняться ...
23 апр. '11 в 14:29
6 отв.

О непоследовательной связи DLL

Как удалить эту ссылку? Вы можете увидеть сегмент кода, который вызывает это предупреждение. static AFX_EXTENSION_MODULE GuiCtrlsDLL = { NULL, NULL }; //bla bla // Exported DLL initialization is run in context of running application extern "C" v...
07 апр. '10 в 15:51
6 отв.

Определение структуры и функции в области видимости

Итак, насколько я знаю, это законно в C: foo.c struct foo { int a; }; bar.c struct foo { char a; }; Но то же самое с функциями является незаконным: foo.c int foo() { return 1; } bar.c int foo() { return 0; } и приведет к свя...
29 мая '18 в 21:31
7 отв.

Определение имени исполняемого файла C

Когда мы компилируем программу на C, вывод сохраняется в a.out. Как мы можем перенаправить скомпилированный вывод в другой файл?
17 марта '09 в 14:17
4 отв.

глобальная переменная связи c & С++ по умолчанию, множественная задача определения и определения

Например: code1.c/.cpp int a; // ... and so on code2.c/.cpp int a; int main(void) { return 0; } перейти к компиляции: $gcc code1.c code2.c # this is fine $ $g++ code1.cpp code2.cpp # this is dead /tmp/ccLY66HQ.o:(.bss+0x0):...
16 июня '11 в 14:27
1 отв.

Что такое ld-linux.so.2 и linux-gate.so.1?

Когда я запускаю ldd program, я получаю вывод формы linux-gate.so.1 => (0xb77ae000) libstdc++.so.6 => /lib/libstdc++.so.6 (0xb76bc000) libm.so.6 => /lib/libm.so.6 (0xb7691000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb767...
14 нояб. '13 в 18:38
5 отв.

static vs extern "C" / "С++"

В чем разница между статической функцией-членом и внешней связью "C"? Например, при использовании "makecontext" в С++ мне нужно передать указатель на функцию. Google рекомендует использовать внешнюю ссылку "C" для него, потому что "makecontext"...
26 февр. '09 в 22:58
2 отв.

Зависимость Свойство зависит от другого

Как зарегистрировать свойство зависимости, значение которого вычисляется с использованием значения другого свойства зависимостей? Поскольку оболочки .NET-свойств обходятся WPF во время выполнения, не следует включать логику в getters и seters. Для э...
01 сент. '09 в 23:31
4 отв.

Можно ли объявить переменную как статическую, так и внешнюю?

Почему следующее не компилируется? ... extern int i; static int i; ... но если вы отмените порядок, он компилируется отлично. ... static int i; extern int i; ... Что здесь происходит?
18 янв. '13 в 19:58
5 отв.

Почему шаблоны не могут находиться внутри внешних блоков "C"?

Это следующий вопрос для ответа на Можно ли ввести typedef в указатель-на-extern- Тип "C" в шаблоне? Этот код не компилируется с помощью g++, Visual C/С++ и Comeau C/С++ с тем же сообщением об ошибке: #include <cstdlib> extern "C" { s...
02 февр. '11 в 20:30
3 отв.

Внешняя, внутренняя и никакая связь или почему это не работает?

В соответствии со стандартом C: В наборе единиц перевода и библиотеках, составляющих всю программу, каждый объявление определенного идентификатора с внешняя связь обозначает тот же объект или функция. В пределах одной единицы перевода каждое объявл...
29 сент. '16 в 13:06
3 отв.

Является ли законным С++ объявлять main как extern "C"?

Будучи низкоуровневым программистом, я часто работаю с кодом запуска модуля для исполняемых файлов, поэтому я хорошо понимаю, как работает код типа crt0. При написании кода на С++ я обычно объявлял main как extern "C", чтобы соответствовать тому, чт...
06 нояб. '13 в 6:24
2 отв.

Что происходит, когда объявление нестатической функции следует декларации статической функции?

Следующие компиляции: static int foo() { return 1; } int foo(); Но будет ли он всегда компилироваться? Является ли поведение в этом случае хорошо определенным? И что это значит, когда нестатический прототип следует статическому объявлению?
01 февр. '15 в 19:21