云网牛站
所在位置:首页 > Linux编程 > gcc编程源码只能用ascii码的解决:改成支持utf-8编码编程

gcc编程源码只能用ascii码的解决:改成支持utf-8编码编程

2020-09-28 15:35:22作者:sigaofeng稿源:深度站

当前gcc编程源码只能使用ascii码,如果有了非ascii码就会出现错误提示,下面将修改gcc源码,以让它支持utf-8编码编程。以下提供gcc-6.4.0-zn.tar.gz源码包,下载后root身份支持make make install,其中gcc是6.4.0,编程时使用utf-8编码,标点用半角符号,操作平台是Deepin。

 

下载链接

地址:https://pan.baidu.com/s/1AbjPYOPM2StNcQ9FM5clmg

密码:o7i8

 

第一个程序(全部ascii码)

sgf@sgf-PC:~/Documents/文档$ cat chengxu1.c

#include <stdio.h>

#define STR "hello world!"

int main()

{

printf("%s\n",STR);

return 0;

}

sgf@sgf-PC:~/Documents/文档$ gcc -o chengxu1 chengxu1.c

sgf@sgf-PC:~/Documents/文档$ ./chengxu1

hello world!

sgf@sgf-PC:~/Documents/文档$

 

第二个程序(用了中文命名宏)

sgf@sgf-PC:~/Documents/文档$ cat chengxu2.c

#include <stdio.h>

#define 字串宏 "hello world!"

int main()

{

printf("%s\n",字串宏);

return 0;

}

sgf@sgf-PC:~/Documents/文档$ gcc -o chengxu2 chengxu2.c

sgf@sgf-PC:~/Documents/文档$ ./chengxu2

hello world!

sgf@sgf-PC:~/Documents/文档$

 

第三个程序(用了中文命名宏,中文命名函数名)

sgf@sgf-PC:~/Documents/文档$ cat chengxu3.c

#include <stdio.h>

#define 字串宏 "hello world!"

int 打印函数()

{

printf("母语编程好处多!\n");

return 0;

}

int main()

{

打印函数();

printf("%s\n",字串宏);

return 0;

}

sgf@sgf-PC:~/Documents/文档$ gcc -o chengxu3 chengxu3.c

sgf@sgf-PC:~/Documents/文档$ ./chengxu3

母语编程好处多!

hello world!

sgf@sgf-PC:~/Documents/文档$

 

第四个程序(用了中文命名宏,中文命名函数名,用typedef定义中文别名)

sgf@sgf-PC:~/Documents/文档$ cat chengxu4.c

#include <stdio.h>

typedef float 浮点型;

浮点型 长方体体积函数(浮点型 长,浮点型 宽,浮点型 高){return(长*宽*高);}

int main()

{

浮点型 长;

浮点型 宽;

浮点型 高;

浮点型 长方形体积;

长=3;

宽=4;

高=5.5;

长方形体积=长方体体积函数(长,宽,高);

printf("长%f,宽%f,高%f,长方形体积%f\n",长,宽,高,长方形体积);

return 0;

}

sgf@sgf-PC:~/Documents/文档$ gcc -o chengxu4 chengxu4.c

sgf@sgf-PC:~/Documents/文档$ ./chengxu4

长3.000000,宽4.000000,高5.500000,长方形体积66.000000

sgf@sgf-PC:~/Documents/文档$

 

相关截图

gcc编程源码只能用ascii码的解决:改成支持utf-8编码编程

gcc编程源码只能用ascii码的解决:改成支持utf-8编码编程

gcc编程源码只能用ascii码的解决:改成支持utf-8编码编程

 

说明

中科智灵,Geany均可使用本版gcc编译以上程序。参考深度商店应用ARC Welder、中科智灵、MongoDB Compass、Gaffer深度商店应用WebStorm、RStudio、Brackets、Geany

对于已有的库函数,第一种方法重新写一个用中文命名的相同功能的库函数,第二种方法写一个中文命名的函数调用已有的库函数,第三种方法定义一个中文命名的函数指针指向已有的库函数。

 

相关主题

在Deepin系统命令行中编译安装GCC 9.2的方法

精选文章
热门文章