草庐IT

c++ - 如何在 Mac 上使用 openGL 和 gcc?

我正在尝试运行this在我的Mac上使用gcc的命令行中的openGL示例。XCode已安装,gcc多次与其他程序一起使用(无图形)。跟随this我运行的主题:g++1.cpp-frameworkOpenGL-lGLU-lglut然后得到:1.cpp:12:21:fatalerror:GL/glut.h:Nosuchfileordirectory我在/System/Library/Frameworks/GLUT.framework/Headers/找到了glut.h,并注意到结构不同(不是GL文件夹)。但即使删除GL/并使用-I/System/Library/Frameworks/GL

c++ - 什么是 GCC 默认包含目录?

当我使用gcc编译一个非常简单的源文件时,我不必指定标准包含文件(例如stdio或stdlib)的路径。GCC如何知道如何找到这些文件?它内部是否有硬连线的/usr/include路径,或者它会从其他操作系统组件获取路径? 最佳答案 为了弄清楚gcc/g++使用的默认路径以及它们的优先级,您需要检查以下命令的输出:对于C:gcc-xc-E-v-对于C++:gcc-xc++-E-v-感谢QtCreator团队。 关于c++-什么是GCC默认包含目录?,我们在StackOverflow上找到

macOS下使用VS Code配置gcc、gdb搭建C/C++开发环境

  本篇记录在macOS系统下使用VSCode配置GCC、GDB来搭建C/C++开发环境,首先要提前安装好gcc和gdb,见前一篇博文macOS下安装gcc、gdb(亲测可行) 安装好gcc、gdb之后,接下来为VSCode配置文件使其可以调用gcc、gdb,macOS下的配置过程与Linux下类似,可见之前的博文Linux/Ubuntu系统下使用VSCode配置C/C++开发环境1.准备工作(1)安装VSCode  (2)安装好C/C++ ExtensionPack扩展2.配置文件我们创建一个文件夹code_cpp(项目),这个文件夹就是一个工作空间,我们要在这个工作空间下的 .vscode

c - 适用于较小尺寸窗口的 gcc 编译器

我正在使用带有gcc4.5的Cygwin来编译C程序。我正在使用WindowsXP。Cygwin包的大小太大,大约有900MB,我想要一个更小的gcc编译器。是否有最大10-15MB的gcc编译器可以在Windows上编译C程序。或者我可以减小Cygwin包的大小。实际上Cygwin包中有很多额外的东西,但我不知道要删除或保留哪些文件。提前致谢。 最佳答案 如果您在cygwin中只需要gcc包,请运行setup.exe,然后仅选择“Base”包以及“Devel”集中的“gcc4”和“gcc4-core”进行安装。一旦你点击“下一步”

c++ - 如何将 C++11 std::stoi 与 gcc 一起使用?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtoconvertanumbertostringandviceversainC++我正在使用QtCreator2.5.0和gcc4.7(Debian4.7.2-4)。我在.pro文件中添加了“QMAKE_CXXFLAGS+=-std=c++11”。一切似乎都很好,我使用了C++11std::for_each等等。但是当我包含“string”header并想使用stoi时,出现以下错误:performer.cpp:336:error:'std::string'hasnomembernamed'stoi'我

c++ - GCC 链接器提示对现有全局变量的 undefined reference

我对GCC有疑问。它无法找到我的全局变量。我创建了一个示例C++项目来隔离问题:a.cpp:#include"b.h"constchar*constg_test="blahblah";intmain(){test();return0;}b.cpp:#include#include"a.h"usingnamespacestd;voidtest(){cout嗯:externconstchar*constg_test;b.h:voidtest();我是这样编译的:$g++-oa.o-ca.cpp$g++-ob.o-cb.cpp$g++-otesta.ob.ob.o:Infunction`te

c++ - 我可以停止 GCC 将标准库名称包含到全局 namespace 中吗?

当我在C++中使用标准C头文件时,我通常更喜欢将标识符放入std中的形式。命名空间,例如.然而,当我使用这些时,GCC也会将名称放入全局命名空间,这意味着它将接受如下程序:#includestd::size_tx;size_ty;intmain(){}在这里,x的声明是正确的,但是y的声明如果我希望我的代码可移植,应该被拒绝。(请注意,如果我包含而不是,GCC将正确地拒绝x的声明)。我能否让GCC拒绝声明y以上?我编译了所有我能想到的迂腐和警告:-std=c++17-pedantic-Wall-Wextra-Wpedantic-Weffc++这些似乎都不能阻止GCC接受不可移植的形式。

c++ - 如何使用 gcc 编译 SIMD 代码

我在SIMD中编写了这段矩阵乘法代码,我可以在VisualStudio中编译它,但现在我需要在Ubuntu中使用gcc/g++编译它。我应该使用哪些命令来编译它?我是否需要对代码本身进行任何更改?#include#include#include#include#include#include#includeusingnamespacestd;#defineMAX_NUM1000#defineMAX_DIM252intmain(){intl=MAX_DIM,m=MAX_DIM,n=MAX_DIM;__declspec(align(16))floata[MAX_DIM][MAX_DIM],

c++ - gcc not_fn 实现 : why does _Not_fn accept additional int parameter?

最近我看了看implementation的std::not_fngcc提供的函数模板。此函数模板的返回类型是_Not_fn-一个包装类模板,它否定包装的可调用对象。事实证明,_Not_fnconstructor接受一个未明确使用的附加int参数:template_Not_fn(_Fn2&&__fn,int):_M_fn(std::forward(__fn)){}对构造函数的调用如下所示:templateinlineautonot_fn(_Fn&&__fn)noexcept(std::is_nothrow_constructible,_Fn&&>::value){return_Not_f

c++ - gcc-c++ 是否没有为当前的 x86-64 处理器优化原子操作

给定以下测试程序:#include#includeint64_tprocess_one(){int64_ta;//Shouldbeatomiconmyhaswellint64_tassign=42;a=assign;returna;}int64_tprocess_two(){std::atomica;int64_tassign=42;a=assign;returna;}intmain(){autores_one=process_one();autores_two=process_two();std::cout编译:g++--std=c++17-O3-march=nativemain.c