社区
C语言
帖子详情
C或者C++ 是如何判断操作系统的类型的(比如windows和linux)
ponanren
2011-04-06 11:02:08
C或者C++ 是如何判断操作系统的类型的(比如windows和linux) 要做个跨平台软件
...全文
1557
17
打赏
收藏
C或者C++ 是如何判断操作系统的类型的(比如windows和linux)
C或者C++ 是如何判断操作系统的类型的(比如windows和linux) 要做个跨平台软件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guoqiang5277
2011-04-07
打赏
举报
回复
这个恐怕不是太好判断的,因为获取系统版本信息的函数的方式类型,是不一样的
Tauren_Chieftan
2011-04-07
打赏
举报
回复
要在windows xp下编译多个平台下的软件有(windows xp,linux,unix等等)
1:就是在Makefile及相关的工程配置(默认的平台宏是否define,编译rule,头文件、库目录等等)。
2:代码中通过平台宏来控制各个平台。
六六哥
2011-04-06
打赏
举报
回复
使用宏来区分不同平台的代码,宏可以自己定义,但是要写在硬件里面,如板卡里面,否则就要用_win32之类的宏定义
pathuang68
2011-04-06
打赏
举报
回复
C/C++本身无法判断是Linux还是Windows平台。
要做跨平台的C/C++应用,尽量使用标准的C/C++。
用#ifdef #define 之类的分别引入特定操作系统平台相关的头文件,编译前再#define一下。
jialejiahi
2011-04-06
打赏
举报
回复
如果你用到了系统的api,那么这个软件必定不是跨平台的。
要想跨平台只能用标准C的库函数。
还有一些第三方开发库,比如Qt,java,它们在不同的平台都可以执行
luciferisnotsatan
2011-04-06
打赏
举报
回复
[Quote=引用 3 楼 maoxing63570 的回复:]
囧,又说错了,这个只有在windows下才可以
[/Quote]
linux可以用 system("uname -a")
要写两份,一份windows的,一份linux的。加编译开关,编windows时用windows那份,编linux用linux。
luxingqiang110
2011-04-06
打赏
举报
回复
#ifdef __linux
#define
#endif
油条大侠
2011-04-06
打赏
举报
回复
简单来说就是多次编译
就想叫yoko
2011-04-06
打赏
举报
回复
_WIN32
油条大侠
2011-04-06
打赏
举报
回复
简单来说C/C++的编译器就是为了能让开发出来的东西在特定的平台上跑,如Linux的GCC,windows的VC
maoxing63570
2011-04-06
打赏
举报
回复
囧,又说错了,这个只有在windows下才可以
maoxing63570
2011-04-06
打赏
举报
回复
很简单
system("systeminfo");
luciferisnotsatan
2011-04-06
打赏
举报
回复
编译时就能知道了。你到底编的是linux还是windows。
编出来的二进制文件是不能跨平台的。
xunxun
2011-04-06
打赏
举报
回复
一般就是
#ifdef win32
print "Windows OS"
#elif
print "Linux OS"
类似的伪代码
这个是编译器的默认预处理宏决定的(windows下编译器默认宏有WIN32、_WIN32之类的)
zjw6861982
2011-04-06
打赏
举报
回复
通过预编译宏,c/c++本身在个平台上均有实现,不同的是编译器,以及你的程序编译出来的二进制文件
ForestDB
2011-04-06
打赏
举报
回复
“你”告诉“它”的,通过类似宏。
《C语言/
C++
学习指南》
Linux
开发篇
在内容编排上,先介绍
Linux
的安装、基本使用和配置,然后再开始介绍在
Linux
下的C/
C++
开发技术: gcc命令行、Makefile、gdb调试方法、动态库与静态库、pthread线程、进程、进程间通信、系统调用及杂项技术。...
C、
C++
判断
操作系统
是
Linux
、
windows
还是Unix
有些程序,最终使用的
操作系统
不确定,
查
linux
还是unix,C、
C++
判断
操作系统
是
Linux
、
windows
还是Unix
有些程序,最终使用的
操作系统
不确定。对于有些特殊的函数来说,标准库里没有,但在
windows
和
linux
下函数名称不一样,这个时候为了能在两种
操作系统
中都能正确使用,就需要
判断
操作系统
的
类型
,在不同的case下调用不同的函数。例如字符串忽略大小写比较,
windows
下使用stricmp,
linux
下使用strcasecmp。你看到的这个文章来自于http://www.cnblogs.com/aya...
C++
通过宏定义
判断
操作系统
及编译器
C++
的编译环境千奇百怪,很多时候一些代码在某些编译环境下可用,一旦移到其他环境下,就会干脆Compile Error 对此,我们可以使用
C++
的宏定义来
判断
操作系统
,从而进行一些有趣的操作(貌似意义不大) 比如这样 #include<iostream> #if !defined(_WIN32)//如果我使用的不是WIN32
操作系统
#include<bits/std
c++
.h>//那我就打开万能头文件 #endif //if要和endif搭配使用 using
C++
和C在
linux
下 和在
windows
下有什么区别?
一.函数库的区别
linux
下的C函数库和
windows
下的函数库系统调用的机制不一样,Glibc包含了主要的C库。这个库提供了基本例程,用于分配内存、搜索目录、打开关闭文件、读写文件、字串处理、模式匹配、数学计算等等。所说的机制不一样不单是指中断号的问题,中断号也是通过input参数和output把函数地址和输出地址定位在寄存器的,那些函数在
windows
和
linux
下的实现应该是不一样的,就...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章