c++ /ubuntu 关于 .a 和 .so
您好,
我想问一下使用哪个更好:.a 文件还是 .so 文件?例如,如果我有一个 .so(或 .a)和 header.h 文件,我可以在 test.cpp 代码中使用这两个文件而不需要 header.cpp 吗?我可以只用这两个在计算机上创建我自己的测试程序吗?
其次我想问一下.a是否更好使用ubuntu中创建.a文件的命令是什么?还有一个问题。我是否需要在 header.cpp 中使用 extern "C" class* object() {return new class} ?或者,在包含 .a 或 .so 和 .h 文件后,我可以在 test.cpp 代码中使用 extern"C" 吗?谢谢!
编译命令是: g++ test.cpp -o test -ldl
(//当我编译 test.cpp 代码时,我不想在命令行中包含 header.cpp
HI,
I would like to ask what is better to use: the .a or the .so file? If i have for example an .so(or .a) and the header.h file can i use these 2 in a test.cpp code without needing the header.cpp? Can i go on a computer just with these 2 and create my own test program?
Secondly I would like to ask if .a is better to use what is the command in ubuntu for creating the .a file? And one more question. Do I necessarly need to use extern "C" class* object() {return new class} in the header.cpp. Or can i use extern"C" in the test.cpp code after i include the .a or .so and the .h file? THX!
The compile command is: g++ test.cpp -o test -ldl
(//i dont want to include header.cpp here in the command line when i compile the test.cpp code
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
.a 和 .so 有不同的用途。一种用于静态链接,另一种用于共享链接到您的库。搜索这些术语,您应该会得到相当多的答案。
.a and .so serve different purposes. One is for statically linking the other one is for shared linking to your library. Search for these terms and you should get a fair amount of answers.