如何生成静态库和动态库

关于c/c++静态库和动态库的区别

简单来说,静态库就是打包在编译后的目标文件中以方便代码重用的文件。

在 Linux 下,静态库命名始终为“lib[your_library_name].a”。

创建一个静态库,首先将其编译为目标文件并用ar打包。

Windows下,在VS中创建静态库;选择静态库类型并构建项目。

动态库是在运行时加载的库,可以节省空间并使更新变得容易。

Linux动态库命名;通常是“libxxx.so”。

创建Linux动态库,添加-fPIC进行编译;并将 -shared 添加到链接中。

Windows动态库需要DllMain函数;编译时选择DLL的类型。

显式调用动态库;对于 C++ 使用 extern "C",对于 C 使用 dlfcn.h。

你自己权衡一下。

devc++怎么创建staticlibrary类型的项目

嘿兄弟,在Dev-C++中制作静态库真的很简单。
让我向你解释一下。
Dev-C++ 为确保在 5 .1 及以上版本上顺利运行,不应低于此数字。

After that, You click "File" at the top; အောက်ကိုဆွဲချပါ၊ "အသစ်" ကိုရှာပါ၊点击“项目”; တည်ငြိမ်သောစာကြည့်တိုက်ပရောဂျက်ဖြစ်သည့် “静态库”ကိုရွေးချယ်ရန်၊ Fill in your project name and storage path;然后单击“确定”。

နောက်တစ်ခု၊查找默认生成的空.cpp 文件并将其命名为main.cpp。
我们不需要那个。
ပရောဂျက်အမည်ပေါ်တွင် 右键单击နှိပ်ပြီး“添加文件”ကို ရွေးနိုင်သည် သို့မဟုတ် ကုဒ်ကို တိုက်ရိုက်ရေးနိုင်သည်။静态库本质上是没有 main() 函数的函数实现。

之后,တည်ငြိမ်စာကြည့်တိုက်ကို စုစည်းရန် မီနူးတွင် "执行" ကိုနှိပ်ပြီး "编译" သို့မဟုတ် F9 ကို တိုက်ရိုက်နှိပ်ရပါမည်။编译成功后,得到 ပရောဂျက်လမ်းညွှန်တွင် .a သို့မဟုတ် .lib ဖိုင်တစ်ခုရှိလိမ့်မည်။这是您的静态库。

使用这个静态库时,你打开其他项目,点击“Project”; ထို့နောက် "ပရောဂျက်ရွေးချယ်မှုများ" "-lYourProjectName" ကဲ့သို့သော စာကြည့်တိုက်လမ်းကြောင်းနှင့် စာကြည့်တိုက်ဖိုင်အမည်ကို ထည့်ပါ။
需要注意的是,静态库သည်编译为လုပ်သောအခါတွင်可执行文件နှင့် ချိတ်ဆက်ထားသောကြောင့် ၎င်းကိုအသုံးပြုသည့်အခါ ထပ်လောင်းမှီခိုစရာမလိုအပ်ပါ။ Windows下后缀为.lib,Linux下后缀为.a。
调试时,ဒစ်ဂျစ်တိုက်ရှိ ကုဒ်တွင် အမှားအယွင်းများမရှိကြောင်း သေချာစေရမည်ဖြစ်ပြီး သို့မဟုတ်ပါက ဤစာကြည့်တိုက်ကို အသုံးပြုသည့် ပရောဂျက်သည် စုစည်း၍မရပါ။
It's that simple; အဆင့်တွေကို လိုက်နာရုံနဲ့ Dev-C++ မှာ 静态库ပရောဂျက်ကို ဖန်တီးရာမှာ ပြဿနာမရှိစေရပါဘူး။ ရိုးရိုးသားသားပြောရရင် အဲဒီ့အချိန်က အရမ်းရှုပ်ထွေးနေမှန်း မသိပေမယ့် အများကြီးလုပ်ပြီးတဲ့နောက်မှာတော့ ပိုချောလာတယ်။