【发布时间】:2016-02-27 01:33:03
【问题描述】:
我正在尝试了解有关链接的更多信息,更具体地说,如果它们具有相同的名称,那么强符号如何覆盖弱符号。我看到了一个例子,但没有答案,我一直坚持下去。
file1.c
char a[5];
int main() { printf("%s", a); }
file2.c
double a = ???????;
如何在 file2.c 中设置 a 以便链接器将其解释为 char 数组并在编译和执行这两个文件时输出“hello”?
【问题讨论】:
-
char[5] a;不是有效的 C 语法。而你似乎尝试调用未定义的行为。您实际上想要完成什么?你想这样做的原因是什么? -
您的问题不清楚。添加指向您看到的示例的链接可能会有所帮助。请注意,尽管强符号和弱符号可能是链接器功能(可能对汇编代码有用),但 C 中没有这样的概念。因此您需要解释您希望该功能做什么。
标签: c pointers types linker symbols