2024年 4月 24日
2024年 4月 24日
GCC有提供命令查看编译器基本配置吗?
有的时候,我们想知道编译器默认是什么配置,比如是默认32位或者64位。GCC有提供-dumpspecs选项可以一窥究竟。 gcc -dumpspecs 命令,用于输出 GCC 的内部规格说明(spec...
2024年 4月 24日
为什么同样是GCC有多个版本可执行档?
GCC源代码开源,可以编译成不同target,例如i386, x64, arm, arm64等等,不同project,例如MinGW, Cygwin又有单独的编译,造成目前市面上看到多种不同的GCC可...
2024年 4月 24日
2024年 4月 24日
2024年 4月 24日
64位编译器int类型依然是32位?
Ubuntu 22.04 64位系统默认gcc是64位,可执行文件在/usr/bin/x86_64-linux-gnu-gcc,Windows 10 64位Cygwin gcc.exe同样也是64位,...
2024年 4月 24日
int类型长度由什么决定的?
可能在很多书籍上会看到,C/C++的int类型长度随系统而定。这里的系统,并不是操作系统,也不是硬件平台,而是编译器。编译器是直接阅读源代码并决定int长度的,只是大家为了简化,常说是随系统而定。一些...
2024年 4月 24日
数字中间为什么不能插入空格或逗号?
整数10000不能写成10 000或者10,000, 原因在于为了简化编译器parser字面量的复杂度。一个标准的编译器词法分析器遇到数值类型会不断获取数字并累积,一旦遇到非数字就会退出。如果允许数字...
2024年 4月 24日
小键盘的Enter和大键盘的Enter的区别
尽管小键盘Enter在快速输入小键盘数字后按确定很有用,网络也有传闻二者对应的按键Code不一样,事实上,我们做一下这个实验就可以得到真相。 c...
2024年 4月 23日
为什么scanf("%c", &c)有时发现c根本不是想象中的字符?
很可能在输入的时候,带入了空格等其他字符,导致将不预期的字符传入c. 解法是在%c前面加上空格,即scanf(" %c", &c)可以提醒libc忽略前导的空格、回车、TAB等字符。