Вопросы по теме 'extern'
Использование extern в C не работает должным образом
Я создал два файла:
настройки.h
#ifndef TUNABLES_H
#define TUNABLES_H
void tunables_load_conservative();
void tunables_load_aggressive();
extern int timer_x;
#endif /*TUNABLES_H */
и настройки.с
#include "tunables.h"
int timer_x;...
615 просмотров
schedule
27.02.2024
C++: конфликт пространства имен между внешним C и членом класса
Я наткнулся на довольно экзотическую проблему пространства имен С++:
сжатый пример:
extern "C" {
void solve(lprec * lp);
}
class A {
public:
lprec * lp;
void solve(int foo);
}
void A::solve(int foo)
{
solve(lp);
}
Я...
1926 просмотров
schedule
10.12.2023
C++: связывание внешних переменных из пространства имен
Кажется, я не могу ссылаться на внешне определенную переменную из пространства имен, используя extern . Он работает из глобальной области, но как только туда добавляется пространство имен, он не может связать.
Мой файл констант выглядит так:...
6586 просмотров
schedule
24.11.2022
Невозможно использовать вместе спецификаторы extern и static класса хранения.
В C99 6.7.1 говорится
Максимум один спецификатор класса хранения может быть указан в спецификаторах объявления в объявлении.
Я знаю, что extern и static являются спецификаторами класса хранения, но extern в основном указывает...
1113 просмотров
schedule
01.04.2024
Различное поведение компиляторов с внешней компоновкой
Когда я компилирую следующие исходные коды в VC++ 10, i со статической связью назначается 42 , но в G++ 4.5.1 i с внешней связью в source2.cpp назначается 42 .
Любые идеи о том, что должно быть стандартным подтверждающим поведением в...
111 просмотров
schedule
30.01.2024
Как использовать несколько исходных файлов и файлов заголовков
Недавно я узнал, как мы можем использовать несколько исходных файлов с файлами заголовков, чтобы сделать код переносимым и иерархическим. Для этого я попытался создать свою древовидную программу, используя этот принцип. Вот мои файлы
b_tree_ds.h...
23418 просмотров
schedule
14.11.2023
Есть ли недостатки в объявлении переменных в файлах заголовков без ключевого слова extern?
Недавно я начал понимать, что использование ключевого слова extern очень приветствуется. Таким образом, я начал задаваться вопросом, есть ли что-нибудь не так с текущим (без внешнего) способом использования файлов заголовков:
main.c:
#include...
2833 просмотров
schedule
15.05.2024
Использование ключевого слова Extern
Я знаком с ключевым словом extern, оно используется для объявления переменной, присутствующей в каком-то другом файле, но что означает следующий оператор?
extern "C" const IMAGE_DOS_HEADER __ImageBase;
762 просмотров
schedule
05.06.2024
почему функции не нужен внешний вид, а переменная нужна
Извините, ребята, я знаю, что мой английский плохой, но я сделал примеры, чтобы мой вопрос был более понятным. a.cpp
#include <iostream>
using namespace std;
void funcfoo(){
cout << "test only" << endl;
}
int varfoo =...
308 просмотров
schedule
25.11.2023
Ошибки дублирования символов внешнего наследования, что происходит?
У меня вопрос об использовании extern и наследования. Я кодирую приложение iOS на Objective C, используя X-Code.
У меня есть два гипотетических класса B и C, которые наследуются от класса A.
Теперь класс A импортирует класс с именем Constraints...
314 просмотров
schedule
25.05.2024
Почему глобальная статическая переменная имеет приоритет над внешней внутри функции?
это сложно объяснить в тексте, поэтому я приведу пример.
//f1.c
int a = 5;
int main()
{
printf("func2() output is: %i\n", func2() );
return 0;
}
//f2.c
static int a = 3
int func2()
{
extern int a;
return a;
}
Когда я...
635 просмотров
schedule
23.02.2024
Переменные, объявленные глобально, являются внешними или статическими?
Я изучал в C, что переменные, использующие ключевое слово extern, ссылаются извне, например: Prog1.c main(){
extern int a ;
a=2;
} Prog2.c int a=3; эти две программы успешно скомпилированы вместе. означает ли это, что переменная a в...
244 просмотров
schedule
04.06.2024
Как разделить одну переменную между двумя файлами .c?
Рассмотрим переменную abulo. Я пытаюсь разделить abulo между двумя файлами .c. Вот что я сделал --
Создан а.ч. Этот файл содержит строку extern int abulo;
a.c содержит такой оператор: int abulo = 0;
в b.c. включен a.h. Тогда есть только...
124 просмотров
schedule
31.12.2023
Какая польза от static/extern в исходных файлах?
У меня очень неоднозначное представление о том, что происходит, когда я компилирую много файлов — в основном, когда речь идет о видимости вещей из одного файла в другой. Из того, что я прочитал, static ограничивает область действия переменной или...
172 просмотров
schedule
28.12.2023
Доступ к статическому классу C# из DLL C++
Мне поручили написать новый интерфейс для устаревшей C++ DLL, для которой у меня нет исходного кода, которая — по причинам, не зависящим от меня — напрямую обращается к глобальному классу в устаревшем приложении.
Из приложения это что-то вроде:...
335 просмотров
schedule
03.02.2024
Как extern работает в пространствах имен?
Я запускаю простую программу, похожую на ту, что я нашел здесь . Это предназначено для уменьшения раздувания кода при включении констант в несколько файлов. Он делает это, используя константные глобальные переменные в пространстве имен с их...
14348 просмотров
schedule
03.12.2022
Google Closure Compiler - Как создать Extern для переменной (имя переменной не может измениться, как в Eval)
Я использую Google Closure Compiler в режиме SIMPLE_OPTIMIZATIONS. JavaScript использует оператор «Eval» с переменной «_u», встроенной в строку. Когда Google Closure Compiler запутывает код, имя переменной изменяется на «a», и я получаю сообщение об...
331 просмотров
schedule
09.02.2024
Внешняя связь const в C
Я играл с ключевым словом extern в C , когда столкнулся с этим странным поведением. У меня есть два файла:
файл1.с
#include<stdio.h>
int main()
{
extern int a;
a=10;
printf("%d",a);
return 0;
}
файл2.с
const...
997 просмотров
schedule
02.10.2022
внешние и глобальные переменные с одинаковыми именами в C
Я пытаюсь понять, что произойдет, если в какой-то программе у нас будет так:
extern int x;
void foo(){...}
void bar(){...}
void main(){
foo();
bar();
}
int x=0;
Так что же должно произойти? Почему разрешено иметь две такие переменные с...
1968 просмотров
schedule
17.11.2023
глобальная переменная С++ не была объявлена в этой области
Я новичок в С++. Я пытаюсь изменить очень сложный код видеокодека в рамках моего школьного проекта последнего года обучения. Это мой код:
Это заголовочный файл, в котором я объявил три внешних переменных: yuv.h
#include <vector>...
1078 просмотров
schedule
26.03.2024