编写linux内核程序使用C++时 可以使用BOOST,STL类似的函数库么?

 我来答
wjtxtl
2012-11-19 · 超过17用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:34.1万
展开全部
当然可以,c++是跨平台的,,c++可以用boost ,但是得在linux 下边重新编译,而stl 这个东西可以直接用的。你可以在linux 下边找到stl 的库函数的。
boost 编译完了,得把相应的so 加到 g+ +路径或者env 变量路径里面。。
追问
BOOST里面比如说多线程程序 都是要通过调用系统API实现的 现在连系统都没有如何使用BOOST呢?或者说我想知道C++运行时在操作系统哪个阶段产生.
追答
系统都没有?
现在的程序都是建立在系统已有的基础上的,如果是系统都没有的话,那是另一种情况,比如你开机的时候,这个时候也会运行一些程序,但是这些程序的api和平时接触的是不一样的。
boost 是静态编译的。你写的程序,比如使用boost 下边的 thread,share_ptr等。在你程序写完后,你g++的时候,和你的程序一起编译的。而平时我们用的比如windows下边的 DLL程序,是动态的.
zmryyj
2012-11-19 · TA获得超过1161个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:173万
展开全部
可以的。C++的STL模版与平台无关。boost可能得重新编译。
追问
BOOST里面比如说多线程 ,都是要通过调用系统API实现的 现在连系统都没有建立起来如何使用BOOST?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangtao9999
推荐于2017-09-02 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:44%
帮助的人:8180万
展开全部
内核程序是什么东东?
我只记得有内核模块,内核里面不能开发程序的。

如果你写内核模块。那么只能用内核提供的函数。
如果你写应用程序,这似乎和内核又没关系了。
追问
就是写操作系统啊 操作系统内核那部分 因为BOOST里面比如说多线程 都是要通过调用系统API实现的 现在连系统都没有如何使用BOOST 因为boost 的功能都要调用系统API 而当我写一个操作系统的时候连系统都没建立 就更用不上系统那些功能了  求指教
追答
你这个追问和原问题我怎么越看越没关系啊?

你要是自己写系统,那么你就必须自己实现所有的 API 。之后还要修改 boost 让他改用你的系统调用而不再去用 Linux 的 API 。
你现在连内核都没有,那你又怎么能去考虑 boost 呢?你连系统都跑不起来,你又怎么能让你的这个内核和 boost 交互呢?

C++ 不过就是个开发语言,boost 不过就是个功能函数库。
你现在的问题是,C++ 调用 boost ,boost 要调用内核。
任务调度,线程管理都是内核的事情。所以你找 boost 的多线程,那么肯定就要牵扯到内核的功能。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
己玛利39
2012-11-20 · 超过29用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:78.6万
展开全部
内核程序如何使用C++ ,可以说明一下么,比较感兴趣...不知如何在kernel中添加C++ 代码...
追问
操作系统第一层 也就是微内核那部分是用C实现的这个我知道, 第二层使用C++实现的比如进程管理  用的是客户服务器模式,不知道我的理解正确不?
追答
linux kernel 中有进程管理这一块,已经用C 实现了...
还有,你要查看一下啥叫微内核...我理解的跟你有点不同...再讨论...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式