gcc

【转】检查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

pwn学习笔记-什么是gcc、libc、glibc、libc++、libstdc++

在做pwn题目的时候总是会遇到自己不熟悉,不会的内容,每次都觉得非常难整理和理清,不如每遇到一次就做一次笔记,方便随时复盘。 gcc gcc在我学习c语言的时候,编译阶段有用到,和pwn题貌似关系不大,放一放。 libc libc是Linux下的标准C语言库,也是当初写helloworld里包含的头 ......
libc libstdc 笔记 glibc pwn

gcc g++ 动态库,静态库的编译

首先 来看看静态库: 总体的说明: 怎么创建静态库: 网上的截图如下; 怎么使用静态库: 静态库 在使用的时候, 直接./ 就可以了。 动态库在执行的时候 还要加上别的参数,做指明。这里写错了, 动态库的执行 也是 ./main 这种方式。 静态库 在制作可执行文件的时候, 是将库一起加到 可执行文 ......
静态 动态 gcc

centos 7 手动编译升级gcc9.3.0

1、下载gcc9.3.0源码包 wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz sudo tar xvf gcc-9.3.0.tar.gz ./contrib/download_prerequi ......
手动 centos gcc9 3.0 gcc

GCC的头文件搜索路径

在 C 和 C++ 中,有两种头文件包含方式,引号和尖括号形式,这两种形式的搜索路径是不一样, 搜索路径的顺序如下所示: 对于引号形式的 include 指令,会首先搜索包含当前文件的目录 对于引号形式的 include 指令,通过 -iquote 选项指定的目录将会以从左往右的顺序进行搜索。 通过 ......
路径 文件 GCC

GCC中的aligned和packed属性

GCC支持用__attribute__为变量、类型、函数、标签指定特殊属性。这些不是编程语言标准里的内容,而属于编译器对语言的扩展。 本文介绍其中的两个属性:aligned和packed。 aligned aligned属性最常用在变量声明上。它的作用是告诉GCC,为变量分配内存时,要分配在对齐的内 ......
属性 aligned packed GCC

Centos 安装 arm-linux-gnueabihf-gcc (armcc交叉工具链)

环境:CentOS 64位 准备工作: 1. 在linux系统的/usr/local/新新建(mkdir)arm文件夹,并改权限(chmod)为777。 mkdir arm 【新建 /usr/local/arm/ 目录】 chmod 777 arm 【修改此文件夹的权限 ,可用 命令 # cd -l ......

arm-none-linux-gnueabi-gcc: not found 的解决办法

在Ubuntu下安装了ARM交叉编译器,在验证交叉编译器是否能够使用的时候,出现了arm-none-linux-gnueabi-gcc 找不到的错误!如下所示 出现这种情况的原因是:在64位Linux系统下无法兼容32位交叉编译器 安装32位的库,64位的Linux系统能够兼容arm-linux-g ......

Ubuntu 22.04 GCC Arm 12.2.rel1编译 DAPLink

记录一下过程. Arm Mbed 应该属于Arm的机构或者是Arm资助的机构. 常用的 DAPLink 基本上都是从这个项目派生的. 仓库主要是使用 Keil, 对 GCC 的支持是 2020 年才正式合并进来的. Ubuntu 下使用 GCC Arm 编译 ......
DAPLink Ubuntu 22.04 rel1 GCC

普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境

以下介绍PY32F0系列在Ubuntu下如何使用GCC Arm Embedded Toolchain环境进行开发和烧录. GitHub 仓库地址: https://github.com/IOsetting/py32f0-template ......
Toolchain 环境 Ubuntu VSCode GCC
共206篇  :7/7页 首页上一页7下一页尾页