日期:2014-05-16  浏览次数:20633 次

请问如和在 linux 内核心编译c++ 文件 能写个简单的添加例子或则makefile 谢谢!
请问如和在 linux 内核心编译c++ 文件 能写个简单的添加例子或则makefile 谢谢! 
比如在 /linux/fs 目录下增加一个.cpp 的c++文件

------解决方案--------------------
内核不支持C++
你自己可以尝试,成功了,分享,哈哈
------解决方案--------------------
内核连标准C库都不支持,何况C++库~~~。
------解决方案--------------------
你只有改写成C语的了,如果非得要用C++写的话,你需要做很多工作,下面是思路:
1.在最后链接阶段加上-lstdc++参数,需要链接C++库,内核映像文件将变很大,自己改MAKEFILE文件
2.在从汇编进入到C语言之初先自己写一段C++中自动生成的全局初始化代码(也就是你在C++中使用全局类实例时,总会有程序调用该类的构造函数,这一段代码需要自己写)
3.C++编译后会生成比C程序更多的一些"段",需要在链接时加上与这些相关的参数,也就是链接脚本文件中有所修改
------解决方案--------------------
如果不用-lstdc++参数,除非你自己写一个C++库的子集,否则你的C++代码中需要用到的C++库中的函数从哪儿去找呢???而且像cin,cout之类的都不能用,或者改写其背后所调用的函数
整个难度就是太大了点,所以最好还是换成C语言的,在网上找一个gzip算法的C语言版,应该不难吧??????