小编Jam*_*der的帖子

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万
查看次数

标签 统计

c ×1

c++ ×1

designated-initializer ×1