gpt4 book ai didi

c - 是否(不)可以在 C 源代码中使用特殊字符?

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:45 24 4
gpt4 key购买 nike

出于某种原因,我想在 C 项目的函数名中使用 µ 字符。这是不可能的吗?我得到类似的错误

error: stray '\302' in program

我尝试添加选项:

-fexec-charset=UTF-8
-finput-charset=UTF-8

到我的构建脚本,但我一定不明白这些启用了什么。我正在运行这个版本的 gcc:

arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437]

最佳答案

C 标准要求实现在源字符集中具有以下字符:

A-Z a-z 0-9 ! " # % & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ _ { | } ~

以及空格、水平制表符、垂直制表符和换页符。它还需要一些指示行尾的方法,尽管这不一定是流内字符 (C 2011 [N1570] 5.2.1 3)。实现可以扩展此字符集,并且它们可以允许标识符中的其他字符,但此类扩展由每个实现定义,而不是标准。

-finput-charset=... 没有指定源字符集使用什么字符集。 It specifies what the character set of the source input is, but that input is translated to GCC’s source character set.

Clang 似乎接受 µ 作为标识符(在 macOS 和 Compiler Explorer 上测试),而 GCC 不接受。

关于c - 是否(不)可以在 C 源代码中使用特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com