在Windows和LINUX中创建程序库[C]
发布时间:2020-12-13 22:44:08 所属栏目:Windows 来源:网络整理
导读:我打算在我的C程序中使用库.开发正在 Linux上进行,但应用程序旨在在Linux和Windows上进行编译.据我所知,Windows中共享库(.so)的直接等价物是DLL,对吧? 在使用g的Linux中,我可以使用-fPIC和-shared标志创建共享库. AFAIK,共享库不需要进行其他代码更改.但是W
我打算在我的C程序中使用库.开发正在
Linux上进行,但应用程序旨在在Linux和Windows上进行编译.据我所知,Windows中共享库(.so)的直接等价物是DLL,对吧?
在使用g的Linux中,我可以使用-fPIC和-shared标志创建共享库. AFAIK,共享库不需要进行其他代码更改.但是Windows DLL中的情况有所不同.在那里我应该指定必须使用dllexport导出的功能,对吧? 我的问题是如何处理这种情况?我的意思是dllexport在Linux中无效,编译器会出错.但它在Windows中是必需的.那么如何编写一个可以在两个平台上编译而无需更改代码的函数呢? 使用的编译器 > g – LINUX 任何帮助都会很棒!
我们为类指定__declspec(dllexport):
#define EXPORT_XX __declspec(dllexport) class EXPORT_XX A { }; 然后,您可以检查平台并仅在Windows上定义宏.例如.: #ifdef WIN32 #define EXPORT_XX __declspec(dllexport) #else #define EXPORT_XX #endif 我们主要构建静态库,因此可能有更多的事情要做动态库,但概念是相同的 – 使用预处理器宏来定义需要插入到Windows代码中的字符串. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows 7/2008 Server上的C#事件记录
- Windows命令提示符中的自定义命令
- XAML中的StringFormat
- 如何在Windows Phone 8(C#)框架中添加C DLL
- Windows授权经理(AzMan)是否已经过时?在新的ASP.NET应用程
- windows-server-2012 – Office365 DirSync Active Directo
- windows-server-2003 – 如何找出哪些远程桌面会话处于活动
- 如何在Windows Mobile 6下将Flash游戏嵌入到Windows Forms
- windows – 确定计算机上次启动的时间
- 为什么我宁愿使用本机dll或com服务器从C#调用Delphi代码?
推荐文章
站长推荐
- windows-mobile – 如何在移动设备上测试网站设计
- Windows – 如何创建批处理文件来重命名文件夹中
- windows-server-2012 – 来自远程桌面会话的远程
- 窗口 – 我应该在64位构建中定义_WIN32和_WIN64吗
- office365 – Microsoft Graph:在一个请求中列出
- Windows 10计算机上最新版本的Java崩溃致命错误
- windows-server-2008 – Server 2008 R2启动时间
- windows中为php安装mongodb与memcache
- windows – 区域DNS服务名称
- windows – 无线成像是否可行和/或可行? PXE通过
热点阅读