当前位置: 技术问答>linux和unix
请问如和在 linux 内核心编译c++ 文件 能写个简单的添加例子或则makefile 谢谢!
来源: 互联网 发布时间:2016-02-07
本文导语: 请问如和在 linux 内核心编译c++ 文件 能写个简单的添加例子或则makefile 谢谢! 比如在 /linux/fs 目录下增加一个.cpp 的c++文件 | 你只有改写成C语的了,如果非得要用C++写的话,你需要做很多...
请问如和在 linux 内核心编译c++ 文件 能写个简单的添加例子或则makefile 谢谢!
比如在 /linux/fs 目录下增加一个.cpp 的c++文件
比如在 /linux/fs 目录下增加一个.cpp 的c++文件
|
你只有改写成C语的了,如果非得要用C++写的话,你需要做很多工作,下面是思路:
1.在最后链接阶段加上-lstdc++参数,需要链接C++库,内核映像文件将变很大,自己改MAKEFILE文件
2.在从汇编进入到C语言之初先自己写一段C++中自动生成的全局初始化代码(也就是你在C++中使用全局类实例时,总会有程序调用该类的构造函数,这一段代码需要自己写)
3.C++编译后会生成比C程序更多的一些"段",需要在链接时加上与这些相关的参数,也就是链接脚本文件中有所修改
1.在最后链接阶段加上-lstdc++参数,需要链接C++库,内核映像文件将变很大,自己改MAKEFILE文件
2.在从汇编进入到C语言之初先自己写一段C++中自动生成的全局初始化代码(也就是你在C++中使用全局类实例时,总会有程序调用该类的构造函数,这一段代码需要自己写)
3.C++编译后会生成比C程序更多的一些"段",需要在链接时加上与这些相关的参数,也就是链接脚本文件中有所修改
|
内核不支持C++
你自己可以尝试,成功了,分享,哈哈
你自己可以尝试,成功了,分享,哈哈
|
内核连标准C库都不支持,何况C++库~~~。
|
如果不用-lstdc++参数,除非你自己写一个C++库的子集,否则你的C++代码中需要用到的C++库中的函数从哪儿去找呢???而且像cin,cout之类的都不能用,或者改写其背后所调用的函数
整个难度就是太大了点,所以最好还是换成C语言的,在网上找一个gzip算法的C语言版,应该不难吧??????
整个难度就是太大了点,所以最好还是换成C语言的,在网上找一个gzip算法的C语言版,应该不难吧??????