GCC
gcc make cmake ninja的区别
理清C++编译过程用到的工具概念 ref: [GCC、CMake、CMakelist、Make、Makefile、Ninja啥关系?一图讲透! - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/638986464) 早先学C++的时候,因为只需要点击IDE ......
linux下gcc/g++创建一个共享库项目以及创建一个可执行项目动态链接该共享库
1.先确保有g++命令 2.创建一个c++项目目录,并cd到该目录 3.创建共享库头文件:dynamic_so.h #ifndef __TEST__ #define __TEST__ int testFun(int a, int b); #endif 4.创建对应共享库的实现文件:dynamic_s ......
ubuntu 下 GCC/G++ 的 include 搜索路径查看与设置
https://blog.csdn.net/quicmous/article/details/106790319 一、如何查看 include 搜索路径输入如下命令: > echo 'main(){}'|gcc -E -v -1显示结果如下: Using built-in specs.COLLECT ......
GCC options: compare -nostartfiles, -nodefaultlibs, -nolibc
# GNU不同编译选项的区别 - nostartfiles 不使用启动文件,默认使用库 - nodefaultlibs 不使用默认库,默认使用启动文件 - nostdlib 不使用启动文件,不使用默认库 - nolibc 不使用启动文件,不使用与系统库紧耦合的库 | | -nostartfiles ......
gcc多版本共存
有时候编译项目时会遇到需要特定编译器版本的情况,可以使用`update-alternatives`来解决这个问题。以gcc9与gcc11共存为例。 首先查看本机已安装的编译器版本,可以看到已安装版本为gcc-11 ``` ls /usr/bin/gcc* ```  四个步骤并不是 ......
【GCC】在Windows下使用GCC编译程序
# 1、安装 到[MinGW](https://github.com/niXman/mingw-builds-binaries/releases "MinGW")下载最新的安装包 : ......
/usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory
arm-linux-gcc a.c报错/usr/local/arm/5.4.0/usr/bin/../libexec/gcc/arm-none-linux-gnueabi/5.4.0/cc1: error while loading shared libraries: libmpc.so.3: ca ......
python使用ctypes调用gcc编译的dll之ctypes的使用
### 简介 ctypes 是 Python 的外部函数库。它提供了与 C 兼容的数据类型,并允许调用C或C++编译后的DLL 或共享库中的函数。可使用该模块以纯 Python 形式对这些库进行封装。 本例中代码基于window系统,python为64位3.9.12,如需在liunx上使用请参考[上 ......
使用gcc-13.1.0编译安装thrift-0.18.1
执行 configure 生成 Makefile,排除掉不需要的语言支持和测试等: ```bash ./configure --prefix=/usr/local/thrift-0.18.1 --with-boost=/usr/local/boost --with-libevent=/usr/loc ......
python使用ctypes调用gcc编译的dll之g++编译c++代码
### 1、在windows系统将cpp代码编译成可供python调用的dll #### 1.1 新建header.h代码如下 ```C++ #pragma once #define DllExport __declspec( dllexport ) extern "C" { DllExport v ......
一键编译和安装 gcc 脚本
直接执行即可,执行前需要确保机器上的 wget、gunzip、bunzip2、cmake 可用。 一键编译和安装 gcc 脚本:[install_gcc_tool.sh](https://github.com/eyjian/libmooon/blob/master/shell/install_gcc ......
mpc库问题导致gcc编译失败
使用 mpc-1.3.0 编译 gcc-13.1.0,执行 gcc 的 configure 时遇到如下错误: ``` checking for the correct version of gmp.h... yes checking for the correct version of mpfr.h ......
从gcc早期源码看结构体大小
既然sizeof是运算符,不是函数,那么它的机制到底是什么?C语言规范或编译器应该有所体现。 gcc-0.9,其他版本的有需要再看, 暂时不能handle cmake, 以后再看CLANG/LLVM。 搞清楚编译器,就可以相信编译器。 未经本人同意,禁止转载。 ......
Ubuntu更换cuda版本,gcc,g++版本
# Ubuntu更换cuda版本,gcc,g++版本 ## 更换cuda版本 这个比较简单  gcc 编译选项 -fno-omit-frame-pointer,-fno-tree-vectorize,fno-optimize-sibling-calls;及内存泄漏、非法访问检测 ASAN
omit-frame-pointer 开启该选项,主要是用于去掉所有函数SFP(Stack Frame Pointer)的,即在函数调用时不保存栈帧指针SFP,代价是不能通过backtrace进行调试根据堆栈信息了。通过去掉SFP,可以提高程序运行速度,达到优化程序的目的。如果要打开栈指针,使用 - ......
(GCC) gcc编译选项 -Wl, -start-group,whole-archive,-Wl, Bstatic
1. start-group 编译选项 假设程序x依赖三个静态库:libX1.a、libX2.a和libX3.a,而libX2.a又依赖libX1.a,libX3.a依赖libX2.a和libX1.a,正常情况下的CMakeLists.txt格式如下 target_link_libraries( x ......
centos7中快速安装gcc编译器11
001、系统信息 [root@PC1 software]# cat /etc/system-release CentOS Linux release 7.6.1810 (Core) 002、当前gcc编译器版本 [root@PC1 software]# gcc --version gcc (GCC) ......
二、GCC编译器工作过程
从更直观的角度来说,编译器是一种工具,将高级语言转化为机器语言。举个例子,我们可以使用编译器将用C++语言编写的程序转换为机器可执行的指令和数据。之前提到过,用机器指令或汇编语言编写程序非常繁琐和乏味,这导致了低效的程序开发。此外,用机器语言或汇编语言编写的程序依赖于特定的机器,如果在不同的CPU上 ......
centos7中根据gcc编译器安装包升级gcc编译器
001、系统信息 [root@PC1 home]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarc ......