20231306 gcc

VSCode + GCC编译器(MinGW)开发环境中文字符乱码问题踩坑与解决办法

问题背景 在较长一段时间里,C/C++开发者所使用的集成开发环境(IDE)要么是比较重量级的VS(Visual Studio),要么是Codeblocks·、·Visual C++ 6.0等轻量级IDE,又或者是诸如notepad++、sublime text等文本编辑器+GCC编译器+命令行工具的 ......
编译器 乱码 字符 办法 环境

centOS 7安装gcc、g++

centOS7安装gcc g++ 在使用yum时遇到这个错误 Another app is currently holding the yum lock; waiting for it to exit… 运行命令 rm -f /var/run/yum.pid // 强制关掉yum进程 一、第一种方式 ......
centOS gcc

GCC预处理、编译、汇编、链接全过程

//hello.c #include <stdio.h> int main (void) { printf ("Hello, world!\n"); return 0; } 预处理:替代宏,引入头文件 cpp hello.c > hello.i 编译: gcc -Wall -S hello.i (生 ......
全过程 链接 GCC

gcc-stack-protector机制

GCC “stack smashing detected”机制 相信使用C/C++语言开发软件的程序猿们都经历过‘栈溢出’的问题。‘栈溢出’问题通常十分的隐蔽,有的时候问题复现也十分的困难。每当软件出现莫名其妙的问题时,总是有人怀疑是不是栈溢出了,但是问题的排查又十分的困难,所以,‘栈溢出’就是广大 ......

gcc栈溢出保护机制:stack-protector

关键词:stack-protector、stack-protector-strong、stack-protector-all等等。 1. gcc栈保护机制stack-protector简介 gcc提供了栈保护机制stack-protector。关于stack-protector包含三个选项,分别是s ......
stack-protector protector 机制 stack gcc

gcc: fatal error: cannot execute ‘cc1plus’: execvp: No such file or directory

01、安装 HTSeq软件出现如下报错,编译失败 02、原因是没有c++编译器,解决方法: apt install g++ ## 安装c++编译器 03、再次安装HTseq,报错消失。 ......
directory cc1plus execute cannot execvp

GCC

GCC Windows平台 Cygwin 和 MinGW 都是 Windows 平台上常用的开发工具,可以在 Windows 上编译和运行 Unix/Linux 平台上的 C/C++ 程序。 Cygwin 是一个运行在 Windows 上的类 Unix 环境,它提供了大量的 Unix/Linux 命 ......
GCC

GCC相关

GCC, the GNU Compiler Collection https://gcc.gnu.org/ GCC: Anonymous read-only Git access https://gcc.gnu.org/git.html browse our Git history online h ......
GCC

Windows环境下cmake编译时将编译器切换成 MinGW 即 GCC

在终端一次输入mkdir build,cd build,cmake ..,可能会出现一个小问题:如果安装了 VS,可能会调用 MSVC解决的办法是输入cmake -G "MinGW Makefiles" .. ,将编译器切换成 MinGW 即 GCC 并完成编译 ......
编译器 Windows 环境 MinGW cmake

arm gcc undefined reference编译问题

arm gcc编译的时候,出现下面的错误。经检查,是因为添加了stdio.h,且调用了printf()函数,去掉了stdio.h和printf函数之后,编译通过。 ......
undefined reference 问题 arm gcc

Mac安装gcc

先安装brew: https://blog.csdn.net/weixin_38716347/article/details/123838344 安装xcode: xcode-select --install 安装gcc: brew install gcc 检测gcc版本: gcc -v 其他命令: ......
Mac gcc

gcc为函数生成指令内为什么会有多处return

函数返回 如果一个函数的返回点比较多,而且函数比较长,想通过调试器知道函数从哪个位置退出就会比较麻烦。有些资料说一般编译器的所有return最终会经过同一条ret(机器指令)返回,所以只要找到该指令的位置打断点即可。这个对于没有开优化的指令可能是正确的,开启优化生成的二进制中经常可以看到一个函数内有 ......
指令 函数 return gcc

go build gcc报错 /usr/bin/ld | cannot find -ldl cannot find -lpthread cannot find -lc

之前一直在kali或者其他ubuntu设备编译sliver, 临时在centos7上编译时报错了 # github.com/bishopfox/sliver/server /usr/local/go/pkg/tool/linux_amd64/link: running gcc failed: exi ......
cannot find lpthread build bin

【转】检查Linux系统下是否安装了gcc、pcre、zlib、openssl环境

1. 查看gcc环境 gcc -v 如果Linux系统没有安装gcc编译器,会提示“Command not found”。如果系统上安装了gcc编译器,这条命令就会显示出当前安装的gcc编译器是哪个版本。下图展示为已安装的信息。 2. 查看pcre环境 rpm -qa pcre 看到pcre的版本, ......
openssl 环境 系统 Linux pcre

linux开发之gcc与g++区别,静态库、动态库

gcc 广义上指GNU编译器套装(英语:GNU Compiler Collection,缩写为GCC)是GNU计划制作的一种优化编译器,支持各种编程语言、操作系统、计算机系统结构。 狭义上指GNU C语言编译器(GNU C Compiler)。 常用gcc/g++参数。 |编译选项|说明| |:-| ......
静态 动态 linux gcc

gcc降级

$ sudo apt remove gcc $ sudo apt-get install gcc-7 g++-7 -y $ sudo ln -s /usr/bin/gcc-7 /usr/bin/gcc $ sudo ln -s /usr/bin/g++-7 /usr/bin/g++ $ sudo l ......
gcc

借用gcc内置函数帮助C来实现函数重载

借用gcc内置函数__builtin_choose_expr和__builtin_types_compatible_p可以帮助c来实现函数重载。 首先对这两个函数功能做下介绍 __builtin_choose_expr(expr,expr1,expr2)与c语言:?运算符有些类似,如果expr表达式 ......
函数 gcc

C语言GCC编译错误(收集)

错误一: 实参类型不兼容 这是Linux 下编写的 UDP 方式通信的服务器端代码: int ret_rec = recvfrom(soc_fd, // 上面定义的 UDP 套接字 msg, // 接收数据缓存区 128, // 接收数据缓冲区,大小 0, // 和发送端一样的标记 from_add ......
错误 语言 GCC

关于gcc设置入口函数的讨论

关于gcc设置入口函数的讨论 一般的程序入口函数是_start(不是main,参考【2】)。 如果我们想在main之前做点啥工作,或者希望链接一个项目的main.o对象,就需要另外指定入口函数。 虽然gcc提供了指定入口函数的参数,但我发现往往不是我们想要的。 gcc的指定入口函数参数 gcc提供了 ......
函数 入口 gcc

gcc链接时打桩

gcc 链接时打桩 链接时打桩简单分析 链接时打桩本质是在重定位解析符号的时候,做了手脚。 假设main.o用到外部符号malloc,malloc的定义本来在libc中,直接链接给定-L/path/to/libc.so -lc, main.o中malloc的地址就链接到了libc.so中的符号。 链 ......
链接 gcc

ubuntu升级gcc和g++

下载安装 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-9 sudo apt-get install g++-9 配置为默认选项 sudo update ......
ubuntu gcc

gcc栈溢出保护机制:stack-protector

引用:https://www.cnblogs.com/arnoldlu/p/11630979.html 1. gcc栈保护机制stack-protector简介 gcc提供了栈保护机制stack-protector。关于stack-protector包含三个选项,分别是stack-protector ......
stack-protector protector 机制 stack gcc

__thread详解(gcc关键字)

__thread详解(gcc关键字) Thread Local Storage线程局部存储(tls)是一种机制,通过这一机制分配的变量,每个当前线程有一个该变量的实例. // 释义__thread是GCC内置的线程局部存储设施,其存储效率可以和全局变量相比;__thread变量在每一个线程中都有一份 ......
关键字 关键 thread gcc

GCC使用#pragma开启O3优化

#pragma GCC optimize(3,"Ofast","inline") View Code ......
pragma GCC

linux下gcc/g++版本切换

因为一些道不清说不明的原因,经常需要用到不同的gcc版本 这里先提一个事情,自己编译gcc版本的事情,翻自己的记录(doc文件吧) 然后提下,在ubuntu下,默认gcc版本是11,但需要12版本,安装指令: sudo apt install gcc-12 g++-12 -y 安装完成后,继续执行下 ......
版本 linux gcc

clang和gcc一些不同

环境 -m32 -O0 x86-64 clang 12.0.0 x86-64 gcc 10.1 不同 栈帧开辟 int main(){ int a=1; int b=2; } 在clang下开辟栈帧的代码是这样的。 pushl %ebp movl %esp, %ebp subl $8, %esp 局 ......
clang gcc

在 Debian 11 安装 GCC

步骤 1. 在我们安装任何软件之前,通过apt在终端中运行以下命令来确保您的系统是最新的很重要: sudo apt update sudo apt upgrade sudo apt install build-essential 步骤 2. 在 Debian 11 上安装 GCC。 默认情况下,GC ......
Debian GCC 11

win10下安装gcc

win10下安装gcc news来源:原创2023/3/31 14:31:11 win10下安装gcc 一、gcc是什么? 1.1、安装gcc 第一次安装,记录一下 一、gcc是什么? GNU编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fort ......
win gcc 10

gcc编译流程

gcc编译流程 一、GUN工具 编译工具:把一个源程序编译为一个可执行程序 调试工具:能对执行程序进行源码或者汇编级调试 软件工程工具:用于协助多人开发或者大型软件项目的管理。如make、CVS、Subvision 其它工具:用于把多个人件链接成可执行文件的连接器,或者用作格式转换的工具 二、GCC ......
流程 gcc

gcc升级最简单的方法

安装scl yum -y install centos-release-scl 通过centos-release-scl源安装devtoolset包 yum -y install devtoolset-9 说明: devtoolset-6对应gcc 6.x.x版本 devtoolset-7对应gcc ......
方法 gcc