采用 #pragma weak name 形式时,指令使 name 成为弱符号.链接程序没有找到 name 的符号定义时,不会显示错误消息,也不会出现符号的多个弱定义的错误消息.链接程序仅执行第一个遇到的定义. 如果另一个编译单元有函数或变量的强定义,那么 name 将链接到它.如果没有 name 的强定义,那么链接程序符号的值为 0. Example1 编译单元A cu1.c #include <stdio.h> extern int foo; #pragma weak foo int ma…
今天读别人代码时看到一个“#pragma weak”,一时没明白,上网研究了一个下午终于稍微了解了一点C.C++中的“弱符号”,下面是我的理解,不正确的地方望大家指正. 本文主要从下面三个方面讲“弱符号”: 1. 什么是“弱符号”? 它与“强符号”的区别是什么? 2. 弱符号的有什么作用? 3. 弱符号的实际应用实例 1.什么是弱符号? 在WikiPedia中弱符号的定义是: a weak symbol is a symbol definition in an object file or dy…
GCC 中文手册 作者:徐明 GCC Section: GNU Tools (1) Updated: 2003/12/05 Index Return to Main Contents ------------------------------------------------------------------------ -------- NAME gcc,g++-GNU工程的C和C++编译器(egcs-1.1.2) 总览(SYNOPSIS) gcc[option|filename ]..…