c++ /ubuntu 关于 .a 和 .so

发布于 2024-11-05 17:56:54 字数 423 浏览 0 评论 0原文

您好,

我想问一下使用哪个更好:.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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌路终见情 2024-11-12 17:56:54

.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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文