社区
C++ 语言
帖子详情
C++代码移植问题
ArdourCareful
2012-05-10 04:41:21
C++中怎么确定哪些函数是不能跨操作系统使用的?MFC中的类及成员函数能在Linux下使用吗?
...全文
224
21
打赏
收藏
C++代码移植问题
C++中怎么确定哪些函数是不能跨操作系统使用的?MFC中的类及成员函数能在Linux下使用吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
酱油党
2012-05-14
打赏
举报
回复
[Quote=引用 19 楼 的回复:]
问了一下开发人:因为在unix下封装了一套适用这个环境的MFC类库,可以跑在不同unix环境下。
哪如何知道某函数是否具有移植性呢?
[/Quote]一般你可以重载一个对应你要移植环境的版本,根据宏进行封装(会很混乱),或者直接开个工程(减小混乱
酱油党
2012-05-14
打赏
举报
回复
[Quote=引用 19 楼 的回复:]
问了一下开发人:因为在unix下封装了一套适用这个环境的MFC类库,可以跑在不同unix环境下。
哪如何知道某函数是否具有移植性呢?
[/Quote]看具体使用的API是否在对应的环境有支持
清竹小雨
2012-05-11
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
楼主上班了还没搞明白这个关系...有点可悲了.
一般开源代码都是跨平台的, 所谓跨平台即源代码级别跨平台, 通过宏选择性的使用平台相关的API.
C/CPP库本身就是跨平台的,其接口隐藏了操作系统相关API.
如果你希望编写一个像APACHE一样跨平台的软件,就要在编码时提前考虑好哪些是平台无关接口,哪些是有平台差异的需要进行宏控制.
[/Quote]
我是来看楼上的小新的,好evil
qq120848369
2012-05-11
打赏
举报
回复
楼主上班了还没搞明白这个关系...有点可悲了.
一般开源代码都是跨平台的, 所谓跨平台即源代码级别跨平台, 通过宏选择性的使用平台相关的API.
C/CPP库本身就是跨平台的,其接口隐藏了操作系统相关API.
如果你希望编写一个像APACHE一样跨平台的软件,就要在编码时提前考虑好哪些是平台无关接口,哪些是有平台差异的需要进行宏控制.
xue23
2012-05-11
打赏
举报
回复
利用一些跨平台的可复用的类库来实现的。请参考http://www.ibm.com/developerworks/cn/linux/guitoolkit/l-mfc/
ArdourCareful
2012-05-11
打赏
举报
回复
没人试过??
ArdourCareful
2012-05-11
打赏
举报
回复
哪为什么我们公司用VC写的MFC代码为什么能在Linux环境下编译通过生成Linux下的动态库(.so)?
ArdourCareful
2012-05-11
打赏
举报
回复
问了一下开发人:因为在unix下封装了一套适用这个环境的MFC类库,可以跑在不同unix环境下。
哪如何知道某函数是否具有移植性呢?
nice_cxf
2012-05-11
打赏
举报
回复
COleDateTime,cstring有这些的代码能在linux下编译通过?除非重新实现了。。。
或有条件编译选项,在linux下用其他的替代
酱油党
2012-05-11
打赏
举报
回复
你是没用MFC框架,只是按照环境封装的不同API形成的库,当然哪里度能跑
ArdourCareful
2012-05-11
打赏
举报
回复
用到CString类和它的成员函数。以及COleDateTime等类,右键工作空间点设置里面有:使用MFC作为静态链接库。这样能不能说明是MFC程序.
iamnobody
2012-05-11
打赏
举报
回复
http://en.cppreference.com/w/cpp
baichi4141
2012-05-11
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
哪为什么我们公司用VC写的MFC代码为什么能在Linux环境下编译通过生成Linux下的动态库(.so)?
[/Quote]
你确认那是MFC代码?
帅得不敢出门
2012-05-11
打赏
举报
回复
楼主没睡醒吧。
nice_cxf
2012-05-11
打赏
举报
回复
mfc代码能在linux用?玩笑开大了啊
ArdourCareful
2012-05-11
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
楼主上班了还没搞明白这个关系...有点可悲了.
一般开源代码都是跨平台的, 所谓跨平台即源代码级别跨平台, 通过宏选择性的使用平台相关的API.
C/CPP库本身就是跨平台的,其接口隐藏了操作系统相关API.
如果你希望编写一个像APACHE一样跨平台的软件,就要在编码时提前考虑好哪些是平台无关接口,哪些是有平台差异的需要进行宏控制.
[/Quote]
我就是不知道哪些函数是C++标准库的,哪些函数是与操作系统相关的。怎么确定呢?
汗。。。,不可能重写MFC库,不过我发现LINUX哪台机器上除了原有的VC中代码外,还有一些头文件和.so库
这些头文件和库在Makefile中有引用的。
liujun_ips
2012-05-11
打赏
举报
回复
可能是你们公司重写MFC了哈哈
linux流浪汉
2012-05-11
打赏
举报
回复
为什么二楼的同志无处不在。
码上大侠
2012-05-10
打赏
举报
回复
MFC、.NET类库都不具备平台移植性
某大一菜鸟
2012-05-10
打赏
举报
回复
同楼上,如果想要使代码具备移植性那么推荐QT..
加载更多回复(1)
C和
C++
Windows
代码
移植
到Linux
其中包含两个东东: 一个windows数据类型在Linux下进行转换的头文件,在需要时直接引入此头文件(#include "WinToLinux.h")即可,比较实用。 一个从Windows向Linux的C和
C++
代码
移植
的文档说明,也很有用。
C++
编写windows服务程序示例
代码
使用
C++
编写的windows服务程序示例
代码
,注释详尽,利用此模板可快速的将你现有程序
移植
为windows服务器程序。
Android
C++
高级编程——使用NDK
不管你是想将已经存在的原生
代码
应用
移植
到Android平台上还是准备开始在Android平台上进行软件开发,使用《Android
C++
高级编程——使用NDK》一书提供的技术可以构建更出色的应用。本书将展示构建性能更好的复杂原生应用的方法。
Linux端
C++
代码
移植
至Windows端VS配置总结
Linux端
C++
代码
移植
至Windows端VS配置总结
从Windows向Linux的C和
C++
代码
移植
从 Windows 向 Linux 的 C/
C++
代码
移植
一 准备
移植
熟悉 linux 编程环境 ⑴ linux 版本: redhat 系列: redhat (7.2 , 8.0, 9.0, AS *, Fedora Core *) debian 系列:ubuntu (6.06 , …) suse 系列: suse (9.0 , …) turbo linux...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章