cortexm3上可以移植嵌入式linux吗?
内核是CM3的CPU有很多种。只要RAM的容量够大,支持FLASH,就可以运行Linux. 例如NXP LPC1788运行uCLinux完全没有问题。
如何将windows的程序移植到Linux上?
需要用到的技术有:
1.抽取其中用到的Win32API,分为通信类,多线程类,时间字符串等函数类,逐一封装成Linux的函数;
2.调试移植后的整个代码库,并作必要的调整和修正;
3.需要C++11/14的经验;
4.需要Windows和Linux高性能多线程C++服务器程序开发和调试的经验,5.需要boost及zeromq,以及异步通信库,异步日志库等方面的经验;
cygwin下将linux下的程序转化成windows下程序需要注意哪些地方?
cygwin是linux仿真环境 你在cygwin里面开发windows程序属于交叉编译 cygwin调用了cygwin.dll库来支持linux下gcc的函数对windows的支持。
如果不用cygwin.dll,就应该在编译参数中加上 -mno-cygwin ,意思是使用mingw的库来编译。由此产生的弊端是一些linux中的函数不被支持。如果要单纯的移植,还是带cygwin.dll一起发布好一点。但是这种方法也不能保证全部可移植。C语言能不能移植,还与linux和windows中C库的实现不同有关。最简单的例子,他们的基础数据类型的表示方法可能不同,在linux中用4个字节表示的,linux中说不定是8个字节。由此你函数的输出结果也就不同。因此你要做的,就是一点点的翻看两个系统的定义,确保他们的实现一样、不会产生二意性。另外库函数的返回也可能不一样,也必须排除不同的返回值。