当前位置:首页 > 天道酬勤 > 正文内容

嵌入式(嵌入式实时系统)

张世龙2021年12月21日 16:19天道酬勤400

C++概述

% 20c % E8 % AF % E8 % E8 % E6 % 98 % AF % E5 % BD % 93 % E4 % BB % 8A % E6 % 9C % 80 % E6 % B5 % 81 % E8 % 20 B5 % E6 % B4 % B4 % BB % E6 % B9 % E4 % BF % E3 % 81 % E5 % BA % E7 % A8 % E9 % E9 % E9 % E5 % B9 % B9 % E6 % E4 % 8D % E5 % A5 % 85 % A5。 7 % BA % A7 % E8 % AF % E8 % A8 % E7 % 9A % E8 % E8 % AE8% E5 % E5 % E4 % E7 % 89 % B9 % EE9 % 25 % 8F % E8 % BF % % af % E4 % BB % A5 % E7 % A8 % E6 % E5 % E7 % BC % E5 % E5 % BA % 94 % E7 % 94 % 25 % 20 % EF % BC % 8C % E4 % B8 % 80 % EE ba % 86c % 20 % E3 % 82 % 20 C % 20 E8 % BF % 9b % E4 % B8 % 80 % E6 % A5 % 25 % 20 % BC % 8c % E6 % 88 % 90 % E4 % B8 % E6 % B5 % 81 % E8 % A1 % 8c % E7 % 84 % E9 % 9b % 86 % E6 % 88 % E5 % 25 % 20af Borland % 20c % 20 % 204.5 % 2c赛门铁克% 20c % 4 % B8 % BA % E6 % B7 % B1 % E5 % E5 % E7 % E9 A % E6 % E6 % E5 % BF % B5 % B5 % BC % 8C % E5 % AE5% 25 % AF % B9 % 5 % 88 % B0 % E7 % A8 % E5 % BA % 8F % E7 % A9 % B4 % EF % B4 % B8 % B8 % B8 % E7 % A8 % E5 % 20 % A0 % E7 % BB E6 % 96 % B9 % E6 % B3 % 95 % E3 % 82 % E5 % E8 % E4 % B9 % B9F % E5 % A2 % E5 % 88A % AA % 206 % 80 % A7 % EF % BC % 0 % EF % BC % 8CC % 20 % E7 % BC % 96 % A8 % AF % E8 % A8 % 80 % 25 % 20 % AE % E8 % A2 % E7 % 9a % E9 % 99 % 99 % 99 %的E6 % A0 % 87 % E5 % 87 % EF % BC % 8CC % E5 % AE % 98 % E6 % B9 % EEF % 2000.163.com % 29 % 20 % 0a % E5 % 9F % BA % E4 % BA 88 % E8 % 87 % E8 % 82 % BF % E5 % A4 % 8D % E6 % 9d % E7 % 9a % 84 % E7 % 20 % A5 % E8 % AF % E8 % 80 % E7 % 99 % 99. % E5 % 92 % E7 % BB4 % E6 % E4 % BB % E3 % E7 % A0 % 25 % 20E7% 9a % 84 % E9 % 87 % 8d % E5 % A4 % E7 % E6 % 9B % BB BC % 96 % E8 % AF % 91 % E5 % 99 % A8 % E7 % BC % 96 % E8 % AF % 91 % 20c % 20 % 9c % A8 % E5 % E5 % B1 % E5 % AF % B9 % % af % E6 % 89 % A7 % E8 % A1 % 84 % 25 ELF % 20 % E6 % 9e % 90 % E6 % 9e8% E5 % 87 % BD % E6 % 95 % B0 % E4 % 9A % E5 % 87 % 20g抄送% 20 % E5 % BA % 93 % E4 % BC % 99a % 25 % 20t _ % 0a % 20 _ _ Ctor _ end _ % 0a % 20 _ _ dtor _ list %

如果在操作系统启动期间调用initCplusplus函数,则会调用c APP的全局构造函数,从而为c提供基本的执行环境。 由于c会引入很多段信息,所以链接脚本需要添加很多段。 为了便于实现,可以添加代码段*(.text.* )、添加数据段) ).data.*、bss段).BSS.* )等。

嵌入式操作系统适配C++

libstdc库的IOs _ base 33603360 init 33603360 init ()函数初始化输入输出流相关的操作。 代码如下所示。

新的(buf _ cout _ sync ) stdio _ sync _文件字符) stdout;

stdio同步文件字符(stdin );

stdio同步文件字符(stderr );

新(计算机)串流buf _计算机同步;

新兴(CIN ) istream ) buf _ CIN _同步;

新(中央串流) buf _中央同步;

新(时钟)串流buf _ cerr _同步;

在上面的代码分析中,cout实际被调用的是与stdio_sync_filebuf类相关的接口,最终cout将调用操作系统相关的接口,如std:fwrite 以上重点是,stdout、stdin和stderr与操作系统有关。 这是因为GCC绑定到了newlib。 newlib将stdout、stdin和stderr三个指针设置为_reent结构的_ _文件stdin、*_stdout和*_stderr三个变量。

sru CT _ reent _ impure _ data=_ reent _ init (导入_数据);

sru CT _ reent * _ impure _ ptr=_ impure _ data=_导入_数据;

_reent结构包括_ _文件* _ stdin,*_stdout,*_stderr; 3个变量,上述3个变量需要设定为自己OS的tdout、stdin、stderr。

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26420.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。