社区
C语言
帖子详情
gcc显示中文乱码
rs369007
2010-03-13 08:47:22
gcc 显示中文为何有时正常,有时乱码;有时将两个文件的函数移动到一起,原来显示没问题,文件合并了便出现部分乱码,部分正常
...全文
537
4
打赏
收藏
gcc显示中文乱码
gcc 显示中文为何有时正常,有时乱码;有时将两个文件的函数移动到一起,原来显示没问题,文件合并了便出现部分乱码,部分正常
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rs369007
2010-03-13
打赏
举报
回复
不太清楚 同样几句代码(含有像printf("中国") ),在一个较大程序内部运行出来乱码,单独拿出来运行却正常(关闭GVIM 重新打开GVIM 编辑,如果在前GVIM编辑器中新建一个窗口编辑这段代码运行,同样乱码)
neohope
2010-03-13
打赏
举报
回复
源文件编码不统一?
rs369007
2010-03-13
打赏
举报
回复
控制台
fox000002
2010-03-13
打赏
举报
回复
在哪里显示
编码和字体的问题吧
配置文件(ini)解析器C语言版
原创的INI配置文件解析器,提供了完善而简洁的一组INI文件操作接口,能以非常灵活地方式来返回键值、设置键值、删除键、添加新键、创建新的INI文件等。同时支持(但不仅限于)Linux
GCC
/Windows VC平台。在这里共享出源代码,也许你的项目用得着这个模块^-^。 注意!!如果你是在VC6中打开代码,请先用记事本打开源代码中的libini.h文件,另存为ANSI编码形式,否则中文
显示
乱码甚至造成编译通不过。
【TakeLionOS第七课】TakeLionOS汇编与C语言自学笔记-第六课.rar
[TakeLionOS汇编与C语言自学笔记-第六课] 版权所有 2021年 江志剑 按照《21天学通C语言》(第七版),有如下一个例子P17。 将整个程序的代码,包括行号
显示
出来: //1、files:hellolistit.c hellolistitno.s hellolistit.exe /* hellolistit.c - 该程序将
显示
整个程序的代码,包括行号! */ #include
#include
#define BUFF_SIZE 256 void display_usage(void); int line; int main(int argc, char *argv[]) { char buffer[BUFF_SIZE]; FILE *fp; if (argc < 2) { display_usage(); } if ((fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Error opening file, %s!", argv[1]); return (1); } line = (1); while (fgets(buffer, BUFF_SIZE, fp) != NULL) fprintf(stdout,"%4d:\t%s", line++, buffer); fclose(fp); return 0; } void display_usage(void) { fprintf(stderr, "\nProper Usage is:"); fprintf(stderr, "\n\nhellolistit filename.ext\n"); } 我是用
GCC
8.1.0在命令行窗口运行的。
GCC
编译时候,其实有四个步骤: 1、预处理:
gcc
-E hello.c -o hello.i 2、编译生成汇编语言:
gcc
-S hello.i -o hello.s 3、汇编:
gcc
-c hello.s -o hello.o 4、链接生成可执行文件:
gcc
hello.o -o hello 这时候,我想看一下第二步生成的汇编语言代码。 因为本身就是研究操作系统的一部分,所以要研究底层的汇编语言。 结果发现是AT&T格式的汇编语言风格,而且大量使用汇编宏。 所以启用了
GCC
的编译选项-fno-asynchronous-unwind-tables,直接预处理为没有cfi宏的汇编指令。 这里就是包含*no.s形式的文件。 最后的LEAVE指令,等效于“MOV ESP,EBP”和“POP EBP”两条指令。 这个指令调整了数据栈指针ESP,并将EBP的数值恢复到调用这个函数之前的初始状态。 毕竟函数要在退出之前恢复这些寄存器的值。 问题是其中的注释中文字符,输出的时候会出现乱码?这个问题暂时解决不了。 用了-fexec-charset=gbk 和-finput-charset=gbk,也解决不了。 这里面汇编指令也有很多问题。 今天太迟了,就不继续下去了。
Windows
GCC
输出
中文乱码
的完美解决方案
Windows vscode clion
gcc
中文乱码
完美解决
【解决】关于
gcc
编译输出
中文乱码
问题
对于cpp文件,如果我们在windows上用
gcc
来编译的话,往往会出现输出
中文乱码
现象,因为
gcc
默认是不支持中文输出的,所以在编译的时候指定编码格式即可。 -fexec-charset = gbk
【
GCC
】解决
GCC
编译运行的代码在VScode中
显示
中文乱码
因为源文件是utf-8编码,而windows终端默认采用cp936,其中中文对应GBK,所以
显示
乱码。当按照如下所示编译运行示例代码,结果如下。或者将源文件改为GBK编码格式后使用。可以看到运行结果中文
显示
乱码。当在g++编译时加入选项。编译也可以正常
显示
中文。可以看到正确
显示
中文。
C语言
69,371
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章