(1)下列符号中可以用做C++标识符的是( )。
A)_radius
B)f00~bar
C)else
D)3room
答案:A
(2)下列各组类型声明符中,含义相同的一组是( )。
A)unsigned long int和long
B)signed short int和short
C)unsigned short和short
D)short int和int
2024年09月27日
(1)下列符号中可以用做C++标识符的是( )。
A)_radius
B)f00~bar
C)else
D)3room
答案:A
(2)下列各组类型声明符中,含义相同的一组是( )。
A)unsigned long int和long
B)signed short int和short
C)unsigned short和short
D)short int和int
2024年09月27日
前几天一位网友咨询如何用C++中调用CBrother,我发了Demo给他,结果他一直告诉我有问题,远程调试了下,发现他在Winows下用的编译器是MinGW,而我发布CBrother的windows版本使用的是VS,结果发现MinGW和VS在对于同名虚接的重载实现不同,调用错了接口地址导致了崩溃。如此看来,C++的ABI真是一件让人头疼的事情。
2024年09月27日
据Phoronix报道,AMD对C/C++编译器'AOCC'4.0进行了优化,让Zen 4架构的锐龙处理器和EPYC服务器处理器的性能得到一定提升。
Phoronix的迈克尔·拉贝尔表示,经过优化的AOCC4.0最引人注目的地方是带来了对Zen 4 "znver4"支持和优化并且对新架构会有更长久的支持。不过AOCC 4.0并不是开源的,它是LLVM/Clang编译器库的衍生物,目前普遍认为这是AMD Zen 4独有的。
迈克尔·拉贝尔使用了AMD锐龙R9-7950X,对这两个编译器库(AOCC4.0和LLVM/Clang)进行比较,以确定这两个库之间存在的差异,测试使用的主板为华硕ROG Crosshair X670E,内存为32GB,测试使用的环境是Ubuntu 22.10。迈克尔·拉贝尔经过测试,大部分项目下AOCC4.0下的处理器性能都有一定限度的提升,迈克尔·拉贝尔表示AOCC 4.0看起来是一个很好的开始,有助于在编译器方面最大限度地提高Zen 4处理器的性能。
2024年09月27日
LLVM 19.1-rc1 今天发布了,这是LLVM 19的第一个标记开发快照,它正朝着预计于 9 月份发布的稳定版 LLVM 19.1 前进,本周早些时候, LLVM 19 代码完成分支。
新版包含大量新的 C 和 C++ 语言特性、英特尔分支提示支持、新增 Arm 内核、苹果 M4 支持、初始 C2Y 管道、移除 AMD 3DNow! 指令,以及过去半年中新增的许多其他特性。
LLVM 19.1-rc2 预计将于 8 月 6 日左右发布,LLVM 19.1-rc3 预计将于 8 月 20 日左右发布,LLVM 19.1.0 预计将于 9 月 3 日左右发布,之后将按惯例每两周发布一次"点"版本。
2024年09月27日
多态(polymorphism),是指同一种行为在面对不同类型的对象时表现出多种不同的形态。这里,行为其实就是函数名,而行为的表现形态则是函数实现。因此,通俗地讲,多态就是同一函数名具有多个函数实现版本,调用该函数可以自动选择合适的函数实现版本。不难推断,实现多态有两个必要条件:
能够使同一个函数名具有多个不同的函数实现版本,即函数多版本;
能够自动为函数调用选择实际对应的函数实现版本,即函数绑定。
2024年09月27日
1972 Dennis Ritchie 为Unix具有跨平台可移植,开发出了c语言。1978年Dennis Ritchie 与Brian Kernighan将Unix与c编译器移植到PDP-11上。这就是著名的K&R C语言。
1979年 一个叫tiny-C 的C编译器以 Intel8080 与PDP-11的汇编语言原码形式首次公开。成为第一个公开的商业编译器。稍后tiny-C编译器被移植到了CDOS与 PC/M操作系统上(可以认为是与DOS相似的微机操作系统),C编译器有了z80汇编语言版本。
2024年09月27日
在C++中,注解标签(或称为属性)是一种为编译器提供额外信息的机制。C++11引入了标准的属性语法,允许程序员在代码中嵌入编译器可以识别和利用的额外信息。以下是一些常见的C++标准属性及其用法:
2024年09月27日
AMD Ryzen锐龙平台发布之后,不但产品越来越丰富,后续优化完善也在持续进行中,比如近期各大主板厂商都在陆续发布新版BIOS,改善内存兼容性、系统稳定性。
与此同时,AMD还发布了专门针对Zen微架构进行优化的C/C++语言编译器“AOCC 1.0”,基于LLVM Clang(底层虚拟机编译器前端),打上了专为Zen设计的补丁,加入了Zen优化链接器。
AMD宣称,AOCC可以为Zen架构处理器带来更好的向量化和代码生成。
2024年07月20日
Reason(原因)