社区
C语言
帖子详情
Windows下用gcc环境编译输出中文字符时出现乱码怎么解决?
RecycleBins
2019-10-04 08:50:39
用的是sublime text3 编译环境是gcc 每次编译后输出中文时都是一串乱码,求解
大一新生,求具体点,在网上找的其他答案真的看不懂啊
...全文
605
4
打赏
收藏
Windows下用gcc环境编译输出中文字符时出现乱码怎么解决?
用的是sublime text3 编译环境是gcc 每次编译后输出中文时都是一串乱码,求解 大一新生,求具体点,在网上找的其他答案真的看不懂啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
铖邑
2019-10-05
打赏
举报
回复
记得结帖啊
RecycleBins
2019-10-05
打赏
举报
回复
引用 2 楼 SNOY文 的回复:
你是不是没有中文包啊
已经解决了,设置一下文件编码就好了,感谢
「已注销」
2019-10-05
打赏
举报
回复
你是不是没有中文包啊
「已注销」
2019-10-04
打赏
举报
回复
https://segmentfault.com/a/1190000014392665?utm_source=tag-newest 试试这个,不知道版本对不对的上
【TakeLionOS第二课】[TakeLionOS汇编与C语言自学笔记-第一课].rar
按照《21天学通C语言》(第七版),有如下三个例子。其中一个改为
输出
中文
: //1、files:hello.c hello.i hello.s hellono.s hello.exe #include
int main(void) { printf("Hello, World!"); return 0; } //2、files:hello1.c hello1.i hello1.s hello1no.s hello1.exe #include
int main(void) { printf("This is an example of sometjing printed!"); return 0; } //3、files:hellocn.c hellocn.i hellocn.s hellocnno.s hellocn.exe #include
int main(void) { printf("这样打印
输出
一个
字符
, %c\n 一个数字 , %d\n 一个浮点数字 , %f", 'z', 123,456.789); return 0; } 如果直接
编译
运行,则为
出现乱码
。 怎么
解决
中文
乱码? 然后观察三个文件的汇编语言版本的差异。 从中学习汇编与C语言知识。
【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,也
解决
不了。 这里面汇编指令也有很多问题。 今天太迟了,就不继续下去了。
Linux编程之
GCC
编译
工具实战
本课程使得学员能够学会在linux中如何
编译
C/C++程序,使用
GCC
工具如何
编译
静态库,动态库,如何配置运行动态库。
简单的串口测试程序
1.TTY为
编译
好的在嵌入式系统utuLinux下的可执行文件(交叉
编译
器为arm-linux-
gcc
). 2.程序为YC2440通过串口1(COM1)向计算机主机发送一个
字符
串,主机可用超级终端(
windows
)或minicom(Linux)接收。 3.minicom下只能显示90个左右的
字符
,原因寻找中。 #include /*标准输入
输出
定义*/ #include /*标准函数库定义*/ #include /*Unix标准函数定义*/ #i
GCC
编译
时
出现乱码
提示,
解决
方法和技巧
例如,可以使用"-finput-charset"选项指定输入源代码文件的
字符
编码,使用"-fexec-charset"选项指定
输出
可执行文件的
字符
编码。为了
解决
这个问题,我们可以检查源代码文件的
字符
编码,使用正确的
编译
选项,以及检查和修改终端的
字符
编码设置。常见的
字符
编码包括UTF-8、GBK等。在上述命令中,我们使用了"-finput-charset=UTF-8"选项指定输入源代码文件的
字符
编码为UTF-8,使用了"-fexec-charset=UTF-8"选项指定
输出
可执行文件的
字符
编码为UTF-8。
C语言
69,369
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章