linux代码移植到vs下使用,不同平台代码移植问题
来源:互联网 发布:大脚插件 for mac 编辑:程序博客网 时间:2024/06/06 13:14
今天将linux下对硬盘的管理程序移植到pc上,遇到问题多多。
1、linux硬盘管理程序是c写的,对类型的检查很不严格。写代码的人也没注意类型转换,比如malloc是没有进行类型转换,c中没有bool,代码中用enum定义了个bool,这个跟c++的类型不同。于是在c++编译的时候出现了很多问题。
2、time_t在pc上默认是64位。在c中时32位。需要添加一个宏才能转成32位,这个宏要添加在所有.h的前面。
3、在vs2005中c库有很多种,编译的时候要选择正确的库。中工程设置--c++设置中。
4、在vs2005中字符集选择也是麻烦,如果选择的字符集不对程序就跑不起来,比如CreateFile中的文件名。
5、加入的头文件也有顺序,某些头文件依赖另外的头文件。这个依赖的头文件要在前面。
6、发现pc下的mktime跟linux下的mktime出来的结果又差别。听说是夏令问题,设置time_t结构体中的一个变量。还没弄明白,在pc上怎么改都没有变化。
7、vs2005上导出一个静态库方法,新建项目--win32工程--静态工程。
8、在工程中引入静态库,1加入静态库头文件,2在工程属性中添加新库目录,3#parma(lib, “库名”)
9、vs2005下提供了更加安全的sprintf_s等函数。
10、vs2005下open打开写入字符时如果遇到0x0A会自动在前面加0x0D。用二进制写入就没有这个问题。
11、vs下编译静态库注意选择的运行时库,在使用的时候要用相同的运行时库否则会很多错误
- linux代码移植到vs下使用,不同平台代码移植问题
- Linux到Windows下代码移植
- windows到Linux代码移植
- linux代码移植到windows
- 移植Delphi桌面代码到移动平台
- vs移植xcode代码,中文乱码问题
- linux代码移植到windows下“error missing struct tag”
- 跨平台移植代码
- Socket 编程 windows到Linux代码移植遇到的问题
- 几个 Windows 到 Linux 的代码移植问题
- Socket 编程 windows到Linux代码移植遇到的问题
- Socket 编程 windows到Linux代码移植遇到的问题
- 几个 Windows 到 Linux 的代码移植问题
- 几个 Windows 到 Linux 的代码移植问题
- 几个 Windows 到 Linux 的代码移植问题
- Windows到Linux系统代码移植遇到的问题
- Linux C++代码移植到Windows要解决的问题
- 几个 Windows 到 Linux 的代码移植问题
- Trie树详解及其应用
- Chrome 快捷键 整理版
- 自增运算符重载
- ftell函数的用法(用于获取指针位置)
- huffman
- linux代码移植到vs下使用,不同平台代码移植问题
- mysql 重新初始化,创建授权表
- 临接表
- java中valotile
- (HttpURLConnection) url.openConnection();问题
- 二维数组指针
- json学习笔记
- 模式设计(二)------单例模式
- Sqlite 管理工具 SQLiteDeveloper及破解