标签 gcc 下的文章

GCC 隐藏符号


目录 [隐藏]I. 1. 问题分析II. 2. 问题结论III. 3. 测试用例3.1. 创建 libtest.c3.2. 创建 main.c3.3. 编译并测试3.4. 预期输出 I. 1. 问题分析日常被 GCC 折磨,GCC 链接报错,提示未定义符号。ld: Undefined symbols: _ssl_print_string, referenced from: _tls13_get_quic_secret in packet-tls.c.o _tls13_get_quic_secret in packet-tls.c.o排查编译流程...

聊聊 GCC 中的 int 类型和字节对齐


目录 [隐藏]I. -m64II. -fpack-structIII. _attrribute_IV. 结论 聊聊 GCC 中的对齐最近看到一个问题,在 64 位操作系统中。实际测试环境 Ubuntu 22.04,GCC 11。struct test{ long a int b; char c }问 sizeof(stuct test) =?当然我知道这道题想考察的 int/long 定义以及对齐问题,之前编码也不会太在意这类似问题,直接打印出来就行,但是作为考题这里有诸多不严谨地方。我们好好探索下。不管三七二十一,直接编译打印。$ gcc te...

GCC 未使用函数、变量和文件优化策略


目录 [隐藏]I. 样例II. 探索III. 结论 GCC 优化过于复杂,这里探索 GCC 对未使用的代码和变量以及文件的优化策略。3.10 Options That Control Optimization6.3.3 Reducing Size of Executables with Unused Subprogram/Data EliminationI. 样例如下两个文件。$ tree ├── main.c └── unused.cmain.c 文件内容如下。#include <stdio.h> // __attribute__((used, sect...