网站cn域名注册做电影网站详细教程

张小明 2026/3/2 18:23:19
网站cn域名注册,做电影网站详细教程,北京网页设计哪家好,免费自建手机网站一、静态库#xff08;.lib#xff09;1. 静态库制作方法一#xff1a;使用Visual Studio IDE创建静态库项目#xff08;Win32 Static Library#xff09;添加源文件#xff08;.cpp#xff09;和头文件#xff08;.h#xff09;编译生成 .lib 文件方法二#xff1a;…一、静态库.lib1. 静态库制作方法一使用Visual Studio IDE创建静态库项目Win32 Static Library添加源文件.cpp和头文件.h编译生成 .lib 文件方法二使用命令行rem 编译为目标文件 cl /c mylib1.cpp mylib2.cpp rem 创建静态库 lib /OUT:mylib.lib mylib1.obj mylib2.obj2. 静态库使用代码示例mylib.h#pragma once #ifdef MYLIB_EXPORTS #define MYLIB_API __declspec(dllexport) #else #define MYLIB_API __declspec(dllimport) #endif MYLIB_API int add(int a, int b); MYLIB_API int subtract(int a, int b);main.cpp#include mylib.h #include iostream int main() { std::cout 3 5 add(3, 5) std::endl; std::cout 10 - 4 subtract(10, 4) std::endl; return 0; }编译链接rem 方法1直接链接 cl main.cpp mylib.lib rem 方法2指定库目录 cl main.cpp /I include_path /link /LIBPATH:lib_path mylib.lib二、动态库DLL1. 动态库制作方法一使用__declspec(dllexport)mydll.h#pragma once #ifdef MYDLL_EXPORTS #define MYDLL_API __declspec(dllexport) #else #define MYDLL_API __declspec(dllimport) #endif extern C MYDLL_API int multiply(int a, int b); extern C MYDLL_API double divide(double a, double b);mydll.cpp#include mydll.h BOOL APIENTRY DllMain(HMODULE hModule, DWORD reason, LPVOID lpReserved) { switch (reason) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } MYDLL_API int multiply(int a, int b) { return a * b; } MYDLL_API double divide(double a, double b) { if (b 0) return 0; return a / b; }方法二使用模块定义文件.defmydll.defLIBRARY mydll EXPORTS multiply 1 divide 2编译动态库rem 生成DLL和导入库 cl /D MYDLL_EXPORTS /LD mydll.cpp /link /DEF:mydll.def rem 或者使用 cl /D MYDLL_EXPORTS /LD mydll.cpp /Fe:mydll.dll /link /IMPLIB:mydll.lib2. 动态库使用方式方式一隐式链接最常用// main.cpp #include mydll.h #include iostream int main() { std::cout 3 * 5 multiply(3, 5) std::endl; std::cout 10 / 2 divide(10, 2) std::endl; return 0; }编译cl main.cpp mydll.lib方式二显式链接运行时加载#include windows.h #include iostream typedef int (*MultiplyFunc)(int, int); typedef double (*DivideFunc)(double, double); int main() { HINSTANCE hDll LoadLibrary(TEXT(mydll.dll)); if (!hDll) { std::cerr 无法加载DLL std::endl; return 1; } MultiplyFunc multiply (MultiplyFunc)GetProcAddress(hDll, multiply); DivideFunc divide (DivideFunc)GetProcAddress(hDll, divide); if (multiply divide) { std::cout 3 * 5 multiply(3, 5) std::endl; std::cout 10 / 2 divide(10, 2) std::endl; } FreeLibrary(hDll); return 0; }3. 使用CMake构建库CMakeLists.txt静态库cmake_minimum_required(VERSION 3.10) project(MyStaticLib) add_library(mystatic STATIC src/mylib1.cpp src/mylib2.cpp ) target_include_directories(mystatic PUBLIC include)CMakeLists.txt动态库cmake_minimum_required(VERSION 3.10) project(MyDynamicLib) add_library(mydynamic SHARED src/mydll.cpp ) target_include_directories(mydynamic PUBLIC include)三、主要区别和使用建议特性静态库 (.lib)动态库 (DLL)链接时机编译时运行时文件大小可执行文件较大可执行文件较小更新需要重新编译替换DLL即可内存使用每个程序单独加载多程序共享加载速度快相对较慢依赖管理简单需确保DLL存在四、实用技巧依赖查看使用dumpbin /exports mydll.dll查看导出函数依赖追踪使用 Dependency Walker 或dumpbin /dependents program.exe版本控制在DLL中设置版本信息.rc文件调试DLL设置调试器加载符号或在DLL项目中设置调试命令五、常见问题解决找不到DLL确保DLL在程序目录、系统目录或PATH包含的目录中导出函数名修饰使用extern C避免C名称修饰运行时错误检查DLL依赖的运行时库版本MSVCRT符号冲突使用静态库时注意全局变量和函数的命名建议根据项目需求选择小型工具或嵌入式环境 → 静态库大型系统或需要插件机制 → 动态库需要热更新功能 → 动态库 显式加载
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站好一点的公司网站扁平化设计

摘要​随着新型智慧城市建设的深入推进,城市轨道交通(以下简称 “城轨”)作为城市交通网络的核心枢纽,面临着客流量激增、运营成本攀升、服务质量要求提高等多重挑战。数智化技术(大数据、人工智能、物联网、云计算等&…

张小明 2026/1/18 12:09:29 网站建设

网站如何做问卷调查报告seo tdk

流程图说明: 进入分团页面:从左侧菜单导航至散客团队模块,找到目标团队进入分团界面。筛选设置:通过日期、导游、线路、行程等多维度筛选,并可关键词搜索快速定位。状态监控:实时查看分团人数统计和行程饱和…

张小明 2026/1/18 12:07:29 网站建设

抖音粉丝购买网站dw属于什么网页制作工具

如今,零售行业朝着深度数字化迈进,连锁门店的经营管理正历经深刻变革,传统依靠手工记账、经验决策以及多套独立系统的模式,效率不单低下,还极难应对全渠道融合与数据驱动的市场新环境,一套高效的数字化管理…

张小明 2026/1/18 12:05:27 网站建设

网站备案 手印随便官方网站 优帮云

一、简介:为什么必须掌握 socat?netcat 老了:nc 不支持 IPv6、SSL、fork 并发、串口参数细粒度控制,项目 2007 后基本停更。socat 持续进化:支持 100 协议与机制,官方称“Socket CAT——把任何双端数据流拼…

张小明 2026/1/18 12:03:26 网站建设

沧源网站建设waf防火墙排名

搞定W5500以太网模块的使能控制:从原理图到稳定通信的实战解析你有没有遇到过这种情况?硬件板子焊好了,代码也烧进去了,MCU看着正常运行,但W5500就是“不在线”——SPI读出来全是0xFF,初始化失败&#xff0…

张小明 2026/1/18 12:01:25 网站建设

要钱吗网站优化哪家最专业

作为一名长期和Mac打交道的内容创作者,我每天都要在无数层文件夹中穿梭,重复着“点击-打开-返回-再打开”的繁琐操作。直到我遇见了 Default Folder X,它就像给我的访达(Finder)装上了“任督二脉”,效率提升…

张小明 2026/1/18 11:59:24 网站建设