难道用windows API写的程序能移植到linux吗?
目前只学了点C的皮毛,只会在黑白屏幕上简单的用用if for switch function什么的。。
到底如何用C编写跨平台的软件的?有什么书推荐吗?
16 个解决方案
#1
应用标准库/
#2
既然是初学,何必深究?
一开始不跨平台也没事,
一开始不跨平台也没事,
#3
用标准库才可以跨了。
例如:在windows下用mfc肯定是不能跨到linux下面的,因为linux下没有MFC这个东东。
例如:在windows下用mfc肯定是不能跨到linux下面的,因为linux下没有MFC这个东东。
#4
使用标准库,window下和linux下是一样的,其他平台差异要通过条件编译实现。
#5
跨平台需要条件编译。
#6
在windows下学c感觉没什么前途,因为c一般都是和硬件打交道,而且大多数都用linux
#7
++
#8
C和C++所谓的夸平台是指,C和C++的标准语法在每一个平台上都是一样的,因此用C和C++语言编写的程序在任何一个平台,只要该平台有支持标准语法的编译器都能编译运行。
楼主说的win的API,编写的程序肯定是不能到Linux上运行的,这点很容易从C的语法层面上理解,win的API在C语言来看,其实就是一些函数,这些函数有了声明,但是函数的实现被win隐藏了,如果你移到Linux上,自然编译不通过(因为没有函数的实现)
楼主既然是初学,建议先别急着考虑跨平台的问题,楼主只需要持之以恒的编程,坚持不懈的学习,等学到一定的程度,自然就能理解了。
楼主说的win的API,编写的程序肯定是不能到Linux上运行的,这点很容易从C的语法层面上理解,win的API在C语言来看,其实就是一些函数,这些函数有了声明,但是函数的实现被win隐藏了,如果你移到Linux上,自然编译不通过(因为没有函数的实现)
楼主既然是初学,建议先别急着考虑跨平台的问题,楼主只需要持之以恒的编程,坚持不懈的学习,等学到一定的程度,自然就能理解了。
#9
发是使用标准库就可以跨平台。
#10
跨平台是扯蛋了,除了标准c库是通用的,什么界面了,底层调用了都平台相关的。所以c跨平台只是个璩头。
#11
C的跨平台是源码级别的,Java跨平台是二进制级别的,如此而已。
#12
谢谢各位。
现在C的基本语法都会了,就是指针还有点似懂非懂,有什么进阶的书推荐吗?
还有我的代码都是在linux下用vim写的,你们都是在linux的图像界面写代码还是命令行界面写代码的啊?
现在C的基本语法都会了,就是指针还有点似懂非懂,有什么进阶的书推荐吗?
还有我的代码都是在linux下用vim写的,你们都是在linux的图像界面写代码还是命令行界面写代码的啊?
#13
QT
#14
只要用的库是跨平台的,那么源代码就可以重新编译在新机器上运行。
标准库一定是各平台都支持的,许多第三方库都是跨平台的。
标准库一定是各平台都支持的,许多第三方库都是跨平台的。
#15
跨跨跨跨。。。
#16
指针如果还似懂非懂,那么说明你现在还木有必要研究“跨平台”之类的问题,先得把这个问题高清楚,在考虑什么进阶之类的事情。
#1
应用标准库/
#2
既然是初学,何必深究?
一开始不跨平台也没事,
一开始不跨平台也没事,
#3
用标准库才可以跨了。
例如:在windows下用mfc肯定是不能跨到linux下面的,因为linux下没有MFC这个东东。
例如:在windows下用mfc肯定是不能跨到linux下面的,因为linux下没有MFC这个东东。
#4
使用标准库,window下和linux下是一样的,其他平台差异要通过条件编译实现。
#5
跨平台需要条件编译。
#6
在windows下学c感觉没什么前途,因为c一般都是和硬件打交道,而且大多数都用linux
#7
++
#8
C和C++所谓的夸平台是指,C和C++的标准语法在每一个平台上都是一样的,因此用C和C++语言编写的程序在任何一个平台,只要该平台有支持标准语法的编译器都能编译运行。
楼主说的win的API,编写的程序肯定是不能到Linux上运行的,这点很容易从C的语法层面上理解,win的API在C语言来看,其实就是一些函数,这些函数有了声明,但是函数的实现被win隐藏了,如果你移到Linux上,自然编译不通过(因为没有函数的实现)
楼主既然是初学,建议先别急着考虑跨平台的问题,楼主只需要持之以恒的编程,坚持不懈的学习,等学到一定的程度,自然就能理解了。
楼主说的win的API,编写的程序肯定是不能到Linux上运行的,这点很容易从C的语法层面上理解,win的API在C语言来看,其实就是一些函数,这些函数有了声明,但是函数的实现被win隐藏了,如果你移到Linux上,自然编译不通过(因为没有函数的实现)
楼主既然是初学,建议先别急着考虑跨平台的问题,楼主只需要持之以恒的编程,坚持不懈的学习,等学到一定的程度,自然就能理解了。
#9
发是使用标准库就可以跨平台。
#10
跨平台是扯蛋了,除了标准c库是通用的,什么界面了,底层调用了都平台相关的。所以c跨平台只是个璩头。
#11
C的跨平台是源码级别的,Java跨平台是二进制级别的,如此而已。
#12
谢谢各位。
现在C的基本语法都会了,就是指针还有点似懂非懂,有什么进阶的书推荐吗?
还有我的代码都是在linux下用vim写的,你们都是在linux的图像界面写代码还是命令行界面写代码的啊?
现在C的基本语法都会了,就是指针还有点似懂非懂,有什么进阶的书推荐吗?
还有我的代码都是在linux下用vim写的,你们都是在linux的图像界面写代码还是命令行界面写代码的啊?
#13
QT
#14
只要用的库是跨平台的,那么源代码就可以重新编译在新机器上运行。
标准库一定是各平台都支持的,许多第三方库都是跨平台的。
标准库一定是各平台都支持的,许多第三方库都是跨平台的。
#15
跨跨跨跨。。。
#16
指针如果还似懂非懂,那么说明你现在还木有必要研究“跨平台”之类的问题,先得把这个问题高清楚,在考虑什么进阶之类的事情。