相关疑难解决方法(0)

C++相当于指定的初始化器?

最近我一直在研究一些嵌入式设备,我们有一些结构和联合需要在编译时进行初始化,这样我们就可以将某些东西保存在不需要修改的闪存或ROM中,并节省一点闪存或SRAM有点性能成本.目前代码编译为有效的C99,但是如果没有这种调整,它也可以编译为C++代码,并且支持以这种方式编译的东西也会很棒.阻止这种情况的关键之一是我们使用C99指定的初始值设定项,它们在C++的C子集中不起作用.我不是一个C++ buff,所以我想知道在C++兼容的C或者C++中仍然允许在编译时进行初始化以便结构和联合不需要的简单方法.在SRAM中启动程序后初始化.

还有一点需要注意:指定初始化程序使用的一个关键原因是初始化,而不是联盟的第一个成员.此外,坚持使用标准C++或ANSI C是为了保持与其他编译器的兼容性(我知道GNU扩展提供类似指定的初始化器而没有C99).

c c++ designated-initializer

35
推荐指数
2
解决办法
2万
查看次数

为什么指定的初始化器没有用g ++实现

是否有任何具体原因为什么没有将指定的初始值设定项添加到g ++?是因为C99标准迟到了,而g ++是早期开发的,之后人们不关心这个问题,或者在C++语法中实现指定的初始化器存在一些固有的困难?

c c++ linux gcc designated-initializer

13
推荐指数
3
解决办法
1万
查看次数

标签 统计

c ×2

c++ ×2

designated-initializer ×2

gcc ×1

linux ×1