« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
|
[C/C++]GCC静态链接与动态链接(续) |
冥思者 发表于 2006/3/5 11:29:18 |
有网友问到了如果程序里面同时用到了静态链接库和动态链接库,那该怎么办呢?其实很简单,还是以上贴的程序为例子,我们已经得到了静态库libhellos.a和动态库hellod.dll,我们现在修改一下主程序同时调用它们,如下 /* main.c */ #include <stdio.h> #include "hellos.h" #include "hellod.h"
main() { char* text = "Hello World!\n"; printS(text); printD(text); } 编译链接: gcc -o hello main.c hellod.dll libhellos.a 然后运行hello print in static way: Hello World! print in dynamic way: Hello World! 此时删掉libhellos.a,仍然能正常运行。如果删掉hel | |
|
[C/C++]GCC静态链接与动态链接 |
冥思者 发表于 2006/3/3 11:50:30 |
传说中的GCC神功盖世,威力无比,今日一见,果然不同凡响。拿出收藏了多年的HelloWorld牛刀小试,于是心悦诚服。 看代码: 1:建静态库
/* hellos.h */ #ifndef _HELLO_S_H #define _HELLO_S_H
void printS(char* str);
#endif
/* hellos.c */ #include "hellos.h"
void printS(char* str) { printf("print in static way: %s", str); } 输入命令: gcc -c -o hellos.o hellos.c ar cqs libhellos.a hellos.o 于是得到了libhellos.a这么一个静态链接库
2:主程序 /* | |
|
[随笔]闭卷有益 |
冥思者 发表于 2006/3/3 11:37:21 |
一直以来都有写点东西的想法,一直都以没有时间来为自己的懒惰找借口,还是写点什么罢。写blog,存往事,寄予未来。 来这里之前本来并没有刻意注册blog,只是在XML论坛注册了个id,没想到就这样有了blog可以写,加上我一直比较懒,于是先安个窟再说。 今天是阳春3月,可惜不能下扬州。三月三,捡金砖。看看今晚梦里能不能捡到一块金砖。 :D
| |
|
|
|
统计 |
blog名称:长夜慢慢兮,心越来越远! 日志总数:13 评论数量:48 留言数量:1 访问次数:154062 建立时间:2006年3月3日 | |