首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏跟Qt君学编程

    C/C++黑魔法-三字母彩蛋

    三字母( trigraphs)使用三个特殊的符号解析为对应符号的例如 ?? (映射为 ] 编译通过的示例 编译加入三字符选项 trigraphs参数; 如: gcc-trigraphs trigr.c #include <stdio.h> int main(int argc,

    62420发布于 2019-07-15
  • 来自专栏编程珠玑

    一行注释也能影响运行结果?

    else { printf("sqrt(30) +1 <= 5 \n"); } return 0; } 编译运行: $ gcc -o main main.c -trigraphs 实际上,细心的读者可能观察到了,我在前面例子代码中加了编译选项-trigraphs,否则的话,编译是有警告的: $ gcc -o main main.c main.c: In function ‘main / ignored, use -trigraphs to enable [-Wtrigraphs] //is sqrt(30) + 1 > 5 ??

    1.5K20发布于 2020-04-02
  • 来自专栏tkokof 的技术,小趣及杂念

    [译]C++17, 语言核心层有哪些新的变化?

    如果你不再需要某个特性,甚至于某个特性可能会造成"危险",那么你就应该移除他.C++17中就移除了auto_ptr 和 trigraphs 这两个语言特性. 移除 auto_ptr 和 trigraphs auto_ptr std::auto_ptr 是C++标准中第一个智能指针,他的设计目的是为了正确的管理资源.但是他存在一个很大的缺陷: std::auto_ptr (三字符组) 所谓三字符组(trigraphs),是指源代码中由特定的3个字符组成的转义字符序列(该转义序列用以表达某个单字符),目的是解决一些键盘不能输入某些特殊字符的问题. C++ 中移除了三字符组(trigraphs),这意味着你不能使用C++17写出下面这种"混乱"的代码了: int main() ??< ??(??)??<??>(); ?? > 我猜你也许能看懂上面的代码,如果不能的话,你就必须把其中的三字符组(trigraphs)转成对应的单字符了.

    1.2K20编辑于 2022-01-12
  • 来自专栏蓝天

    C++鲜为人知的符号

    少为人知的符号表2 三个字符等同单个字符,GNU g++编译时需要指定编译参数“-trigraphs”。 3.1. 符号表 可选的符号 可替代的常见符号 ??= # ??/ \ ??’

    42820发布于 2018-08-10
  • 来自专栏linux驱动个人学习

    编译选项含义

    因为指定了“-mthumb-interwork”产生的代码稍微大一些; -Wno-write-strings: 会忽略掉C++ char * 转const char  *的警告,这样并不会很安全; -Wno-trigraphs

    3.3K60发布于 2018-03-07
  • 来自专栏Toddler的笔记

    C++17 New Features

    Other static_assert with no message u8 character literals Removing trigraphs Remove Deprecated Use of

    1.4K40发布于 2020-06-09
  • 来自专栏iOS开发大全

    开心档之C++ 基本语法

    如果需要使用三字符组替换(如为了兼容古老的软件代码),需要设置编译器命令行选项/Zc:trigraphs g++仍默认支持三字符组,但会给出编译警告。

    77610编辑于 2023-04-21
  • 来自专栏appuploader使用操作流程

    开心档之C++ 基本语法

    如果需要使用三字符组替换(如为了兼容古老的软件代码),需要设置编译器命令行选项/Zc:trigraphs g++仍默认支持三字符组,但会给出编译警告。

    75820编辑于 2023-04-27
  • 来自专栏云深之无迹

    这篇文章不知道起什么名字

    ansi:ANSI标准 -std=c99:C99标准 -std=gnu89:ISO/IEC 9899:1990以及GNU扩充 -std=gnu99:ISO/IEC 9899:1999以及GNU扩充 -trigraphs

    97530发布于 2020-10-23
  • 来自专栏韩曙亮的移动开发专栏

    【Android 内存优化】libjpeg-turbo 函数库交叉编译 ( libjpeg-turbo 函数库下载 | libjpeg-turbo 编译文档 | 环境准备 | NASM 安装 )

    Wno-long-long -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs

    2.5K20编辑于 2023-03-27
  • 来自专栏Golang语言社区

    关于如何从Go 1到Go 2进行不兼容的更改,而尽可能少地进行破坏的建议。

    C90 introduced trigraphs, which changed the behavior of some string constants. Compilers adapted with options like -no-trigraphs and -Wtrigraphs.

    1.6K50发布于 2018-12-07
  • C++ Standards Support in GCC - GCC 对 C++ 标准的支持

    SD-6 Feature Test Removing trigraphs N4086 5 u8 character literals N4267 6 __cpp_unicode_characters

    1.5K20发布于 2020-12-30
  • 来自专栏goodcitizen

    老旧 Linux 系统搭建现代 C++ 开发环境 —— 基于 neovim

    :-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} *cpp_options: %(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} nostartfiles:%E}} %{T*} }}}}}} 信息比较多,定位到关键字 *cc1_options:, 在 %{w} 和 %{std*&ansi&trigraphs} 之间添加 -std= S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} -std=c99 %{std*&ansi&trigraphs} %{v:-version} %{pg:

    1.5K10编辑于 2024-08-01
  • 来自专栏24K纯开源

    CMake脚本中如何修改XCode工程属性?

    This setting also enables trigraphs. C89: Accept ISO C90 (1990), but not GNU extensions. Enable Trigraphs (GCC_ENABLE_TRIGRAPHS) Controls whether or not trigraphs are permitted in the source

    6K30发布于 2020-09-01
领券