GCC
  • 2024-11-20GCC和G++的区别、使用、优化方式、gprof工具和gcov工具
    GCC和G++简介GCC(GNUCompilerCollection)和G++是开源的编译工具,广泛用于C、C++等多种编程语言的编译和构建。它们是GNU项目的一部分,支持多种平台。1.GCC和G++的区别特性GCCG++主要用途编译C代码和其他语言(如Fortran、Ada)。专门用于编译C++代码。默认
  • 2024-11-20【Linux Ops】如何替换 libstdc++ 提升 GLIBCXX 版本
    【环境】kos5.8sp2,kernel5.10还是上一篇提到的那个软件环境,其依赖的GLIBCXX版本较高,因此在安装时给出了以下错误:xxx:/lib64/libstdc++.so.6:version`GLIBCXX_3.4.29'notfound(requiredbyxxx)执行strings/usr/lib64/libstdc++.so.6|grepGLIBCXX,查看当前环境中
  • 2024-11-20Linux常用命令之info命令详解
    info命令详解info命令是GNU项目提供的一个命令行工具,用于查看详细的文档信息。与man命令相比,info文档通常更加详尽和结构化,更适合深入学习和参考。info文档系统是GNU项目的一部分,旨在提供全面的、结构化的文档,帮助用户更好地理解命令、函数、库和其他GNU软件组
  • 2024-11-20P11290 【MX-S6-T2】「KDOI-11」飞船 题解
    注意到速度的形式是编号相乘,而又有\(x\in\{1,2,3,4\}\),所以最多\(\log_2y_i\)次速度就会达到\(10^9\)量级,而此时再加油最少需要\(1\)秒,所以再乘一定不优。直接dp,有\(f_{i,j,k}\)表示当前在第\(i\)个加油站,速度为\(2^j3^k\)的最短用时,后面的\(2^j3^k\)可以
  • 2024-11-18gcc/g++ 使用技巧
    使用技巧常用选项MakeFileGDB调试多进程调试多线程调试常用选项1.基本编译选项-o<output_file>指定输出文件名(可执行文件或目标文件)。g++-omy_programmain.cpp→生成名为my_program的可执行文件-c只编译源代码为目标文件(不链接)。g++-cmain.cpp
  • 2024-11-17Linux开发工具:Vim 与 gcc,打造高效编程的魔法双剑
    文章目录一、初识Vim模式二、vim基本操作2.1基础操作2.2命令模式/正常模式2.2.1光标定位2.2.2复制粘贴、删除2.2.3撤销2.2.4替换字符2.2.5替换模式2.3底行模式2.3.1退出vim和**保存文件**2.3.2定位文本字符串2.3.3命令2.3.4实现分屏2.3.5替换指定字符串2.4补充指令2.4
  • 2024-11-14linux系统so动态库的搜索路径
    so动态库的搜索路径搜索的先后顺序编译目标代码时指定的动态库搜索路径环境变量LD_LIBRARY_PATH指定的动态库搜索路径配置文件/etc/ld.so.conf中指定的动态库搜索路径默认的动态库搜索路径/lib默认的动态库搜索路径/usr/libgcc编译指定动态库搜索路径-Wl,-rpath=<动态库
  • 2024-11-13Linux:理解动静态库
    一、前言如果我们写了一些方法想给别人用??有什么办法呢??——>(1)我直接把头文件和源文件给他(.c+.h)  ——>这样会让别人轻易看到你的实现    (2)把源文件打包成库,再和头文件一起给他(库+.h)——>这样别人看不到你的实现——>所以平时为了能够不让别人轻易窃取我们的
  • 2024-11-12Redis6-7的自动化部署脚本
    环境,Centos7+redis6.2.16,比较新,这个版本修改了一个严重的安全问题。默认下载包路径/tmp/soft,删除的目录默认在、/tmp/data/目录下。指定三个参数,第一个port端口号,第二个redis的密码,为安全必须设置,默认为xxxxx,第三个是redis版本。 脚本自动检查环境,用户,安装目录,当前端口是否占用
  • 2024-11-12gym103102H AND = OR 题解
    非常巧妙的一个题。我们首先考虑单组询问该怎么做。首先需要注意到一个结论,即设答案为\(x\),那么对于\(\forally<x\),\(y\)都应该放在与组;同样的,对于\(\forally>x\),\(y\)都应该放在与组。进一步的,我们观察在\(\text{popcount}\)上也有同样的性质,即对于\(\forally,
  • 2024-11-12golang交叉编译
    交叉编译需要linux环境windows安装编译器aptinstallgcc-mingw-w64编译指令windows: CGO_ENABLED=1\ GOOS=windows\ GOARCH=amd64\ CC=x86_64-w64-mingw32-gcc\ gobuild\ -buildmode=c-shared\ -ldflags\ "-s-w\ -X'${ProjectName}/vers
  • 2024-11-12Golang 编译windows应用程序
    因为我们更喜欢在Linux上开发程序,所以生成交叉编译器,以便在Linux上交叉编译出windows程序。安装minGW:在Linux上运行gcc交叉编译生成windows程序我们用到Cgo,因此需要安装C语言交叉编译器sudoapt-getinstallgcc-mingw-w64下载Go语言的源代码gitclonehttps://github.com
  • 2024-11-11gcc-13.2 grpc 编译错误(absl-cpp build fails)
    使用gcc-13.2编译absl-cpp会出现以下报错:third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:34:6:warning:elaborated-type-specifierforascopedenummustnotusethe‘class’keyword  34|enumclassFormatConversionChar:uint8_t; 
  • 2024-11-11【Linux】Linux环境基础开发工具使用(下)
    【Linux】Linux环境基础开发工具使用(下)
  • 2024-11-11gcc 1.c和g++ 1.c有什么区别?gcc 1.cpp和g++ 1.cpp有什么区别?GCC和G++有什么区别?
    gcc1.c和g++1.c有什么区别?先假设1.c只有C语言语法,不涉及C++语法,我们利用-E/-S指令对比二者编译过程中的差异。Basedongcc11.4.0andg++11.4.0.#include<stdio.h>intmain(){    shorta=100;    printf("%d",a);    r
  • 2024-11-11gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?
    gcc1.c和g++1.c编译阶段有什么区别?借用 gcc1.c和g++1.c有什么区别? 的示例代码,以汇编代码为比较目标,再经过汇编,最后生成ELF文件,三个过程结果均无差异,这个阶段充分证明了c和c++是多么相似。编译到汇编gcc-S1.c-o1.sg++-S1.c-o11.s .file "1.c"
  • 2024-11-09入门级卡常
    1.火车头#pragmaGCCoptimize(3)#pragmaGCCtarget("avx")#pragmaGCCoptimize("Ofast")#pragmaGCCoptimize("inline")#pragmaGCCoptimize("-fgcse")#pragmaGCCoptimize("-fgcse-lm")#pragmaGCCoptimize(&q
  • 2024-11-09浅谈单片机的gcc优化级别__以双音频信号发生器为例
    IDE:  CLionHOST: Windows11MinGW:x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0GCC: arm-gnu-toolchain-13.3.rel1-mingw-w64-i686-arm-none-eabi一、简介        gcc有多种优化级别,一般不选择的情况下,IDE默认是按照-Og或这-O2优化的。        
  • 2024-11-09入门龙芯旧世界汇编指令
    我借到了一台宝贵的龙芯3A6000设备,我期望在这台设备上面学习龙芯汇编指令。这台设备上的是龙芯旧世界的麒麟系统,由于这台设备很宝贵,我不能随意玩。为了防止弄坏设备,我将在此设备上面搭建docker环境,进入到docker容器里面进行开发在此设备上搭建docker环境的方法,详细请看
  • 2024-11-07CF1956F Nene and the Passing Game 题解
    处理很妙的题,部分细节请教了未来姚班zyl和LYH_cpp,在此鸣谢。首先考虑把题目给的式子进行转化,设\(i<j\),那么\(i\)和\(j\)能传球当且仅当\(l_i+l_j\lej-i\ler_i+r_j\)。移项并拆开得到,\(i+l_i\lej-l_i\)且\(i+r_i\gej-r_j\),如果画到数轴上的话
  • 2024-11-07ARM和GCC优化等级optimization level
    参考链接:ArmCompilerforEmbeddedUserGuideOptimizeOptions(UsingtheGNUCompilerCollection(GCC)) ARM优化等级参考: ARM建议使用: 以下为STM32CUBEIDE中的优化等级,使用的时GCC12工具链: 在需要进行Debug时,不建议开启任何优化:STM32CubeIDEusergu
  • 2024-11-07Gazebo使用Nvidia显卡
    Gazebo使用Nvidia显卡由于在安装ubuntu系统时,默认安装nvidia的开源驱动Nouveau,性能和计算较专用的驱动差,gazebo则无法使用该驱动,只能运行在集显上,因此会卡顿。一般流程查看显卡型号#列出硬件信息,过滤显示相关lshw-cdisplay前往Nvidia官网下载驱动https://www
  • 2024-11-05chapter14
    第一题问题首先,编写一个名为null.c的简单程序,它创建一个指向整数的指针,将其设置为NULL,然后尝试对其进行释放内存操作。把它编译成一个名为null的可执行文件。当你运行这个程序时会发生什么?自己写的输出如下:无任何输出或错误提示。第二题问题接下来,编译该程序,
  • 2024-11-03redis部署安装遇到的问题
    安装redis时,需要安装C语言的编译环境执行yuminstallgcc命令时,出现Unknownerror"ETA正在尝试其它镜像需要我们重新配置镜像命令cd/etc/yum.repos.d/命令ls可以查看所有的镜像命令rm-rf*.repo删除全部镜像然后需要我们重新配置镜像CentOS5wget-O/etc/yum
  • 2024-11-03【模板】缺省源
    Debuginlinevoiddebug(){cerr<<'\n';}template<typenameType,typename...Other>inlinevoiddebug(constType&x,constOther&...y){cerr<<x<<'';debug(y...);}#defineDEBUG(a...)cerr<