Linux下的C如何移植到windows下(用了linux下的函数)

xinchangpeng 2009-08-05 08:32:01
Linu下的程序,用了Linux 下的erand48()函数
如何移植到windows下呢?
装了个 LibGW32C for Windows (里面有erand48函数)但是不会用
谁能帮我呢?
谢谢
...全文
382 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wind_Runner 2009-08-14
  • 打赏
  • 举报
回复
学习了~~~
  • 打赏
  • 举报
回复
[Quote=引用楼主 xinchangpeng 的回复:]
Linu下的程序,用了Linux 下的erand48()函数
如何移植到windows下呢?
装了个 LibGW32C for Windows (里面有erand48函数)但是不会用
谁能帮我呢?
谢谢
[/Quote]

如果纯一直过去,把系统调用相关的改掉就是了。
像随机数这种,能用标准的C/C++,是最好的
happy1986 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jamesf1982 的回复:]
引用 2 楼 mjp_mjp 的回复:
一般,只要采用了标准c函数库,都可以移植;不过,如果使用其他标准,一般也可以移植的,比如pthread等等。另外,windows/linux平台有些类似的函数,你可以自己封装一套低级api的包装库,这样,就不会遇到这样的问题了。如果是c编程,最好也采用层体系结构,其他,上层不会与底层低级api打交道。


对于常用的函数,如创建线程,建议封装,利用宏来去区分环境

例如
void oss_create_thread()
{
#ifdef OSS_WIN_NT
//windows创建线程
#endif

#ifdef OSS_VX_WORKS
//VxWorks创建线程
#endif

#ifdef OSS_LINUX
//linux创建线程
#endif
}
[/Quote]

不错的做法
james_hw 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mjp_mjp 的回复:]
一般,只要采用了标准c函数库,都可以移植;不过,如果使用其他标准,一般也可以移植的,比如pthread等等。另外,windows/linux平台有些类似的函数,你可以自己封装一套低级api的包装库,这样,就不会遇到这样的问题了。如果是c编程,最好也采用层体系结构,其他,上层不会与底层低级api打交道。
[/Quote]

对于常用的函数,如创建线程,建议封装,利用宏来去区分环境

例如
void oss_create_thread()
{
#ifdef OSS_WIN_NT
//windows创建线程
#endif

#ifdef OSS_VX_WORKS
//VxWorks创建线程
#endif

#ifdef OSS_LINUX
//linux创建线程
#endif
}
Darkneece 2009-08-14
  • 打赏
  • 举报
回复
将调用系统API的地方封装,然后根据平台修改API
FirryHere 2009-08-07
  • 打赏
  • 举报
回复
一般,只要采用了标准c函数库,都可以移植;不过,如果使用其他标准,一般也可以移植的,比如pthread等等。另外,windows/linux平台有些类似的函数,你可以自己封装一套低级api的包装库,这样,就不会遇到这样的问题了。如果是c编程,最好也采用层体系结构,其他,上层不会与底层低级api打交道。
phz1985 2009-08-07
  • 打赏
  • 举报
回复
既然装了相应的库,那你指明include路径和lib路径不就行了吗?

69,322

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧