草庐IT

llvm-gcc

全部标签

c - 如何避免普通 "char"到 : "unsigned char" OR "signed char" conversion? 的 gcc 警告

我的默认字符类型是在gcc选项(-funsigned-chargcc)中设置的“unsignedchar”。所以可以说,当我在代码中需要“unsignedchar”时,我可以使用“char”。但是我收到关于(char*)和(unsignedchar*orsignedchar*)之间转换的警告:“错误:‘test2’传递参数1的指针目标的符号不同”。当我将unsignedchar*变量传递给char*时(知道我的系统具有由编译器选项设置的默认unsignedchar),如何避免警告?staticvoidtest2(char*a)//charisunsignedbydeafultasset

c - 如何避免普通 "char"到 : "unsigned char" OR "signed char" conversion? 的 gcc 警告

我的默认字符类型是在gcc选项(-funsigned-chargcc)中设置的“unsignedchar”。所以可以说,当我在代码中需要“unsignedchar”时,我可以使用“char”。但是我收到关于(char*)和(unsignedchar*orsignedchar*)之间转换的警告:“错误:‘test2’传递参数1的指针目标的符号不同”。当我将unsignedchar*变量传递给char*时(知道我的系统具有由编译器选项设置的默认unsignedchar),如何避免警告?staticvoidtest2(char*a)//charisunsignedbydeafultasset

将 C 变量的内容复制到寄存器 (GCC)

由于我是GCC的新手,我在内联汇编代码中遇到了问题。问题是我不知道如何将C变量(UINT32类型)的内容复制到寄存器eax中。我试过下面的代码:__asm__(//IftheLSBofsrcisa0,use~src.Otherwise,usesrc."mov$src1,%eax;""and$1,%eax;""dec%eax;""xor$src2,%eax;"//Findthenumberofzerosbeforethemostsignificantone."mov$0x3F,%ecx;""bsr%eax,%eax;""cmove%ecx,%eax;""xor$0x1F,%eax;");

将 C 变量的内容复制到寄存器 (GCC)

由于我是GCC的新手,我在内联汇编代码中遇到了问题。问题是我不知道如何将C变量(UINT32类型)的内容复制到寄存器eax中。我试过下面的代码:__asm__(//IftheLSBofsrcisa0,use~src.Otherwise,usesrc."mov$src1,%eax;""and$1,%eax;""dec%eax;""xor$src2,%eax;"//Findthenumberofzerosbeforethemostsignificantone."mov$0x3F,%ecx;""bsr%eax,%eax;""cmove%ecx,%eax;""xor$0x1F,%eax;");

c - gcc 不会编译 SDL C 程序(对 SDL 函数的 undefined reference )

我最近转向了linux,但在使用gcc编译SDLC程序时遇到了问题。我正在使用的命令:gcc`sdl-config--cflags--libs`-omainmain.c即使通过分离sdl-config标志:gcc`sdl-config--cflags`-cmain.cgcc`sdl-config--libs`-omainmain.o我遇到了同样的错误:/tmp/ccHYyjKd.o:Infunction`main':main.c:(.text+0xe):undefinedreferenceto`SDL_SetMainReady'main.c:(.text+0x18):undefined

c - gcc 不会编译 SDL C 程序(对 SDL 函数的 undefined reference )

我最近转向了linux,但在使用gcc编译SDLC程序时遇到了问题。我正在使用的命令:gcc`sdl-config--cflags--libs`-omainmain.c即使通过分离sdl-config标志:gcc`sdl-config--cflags`-cmain.cgcc`sdl-config--libs`-omainmain.o我遇到了同样的错误:/tmp/ccHYyjKd.o:Infunction`main':main.c:(.text+0xe):undefinedreferenceto`SDL_SetMainReady'main.c:(.text+0x18):undefined

编译 -ansi -pedantic -Wall 自动切换 gcc

我们需要这样使用gcc编译C源代码:gcc-ansi-pedantic-Wallprogram.c我想知道如何“自动化”这个,所以当我输入时:gccprogram.c它将自动编译3个开关。这可能吗? 最佳答案 您还可以使用make的隐式规则,这样您就不必为每个程序都编写一个makefile。如果你说makefoo并且当前目录中存在foo.c文件,Make将自动调用编译器。要为此添加标志,请在您的环境中定义变量CFLAGS,例如在bash中添加exportCFLAGS="-Wall-pedantic-ansi"到.bashrc。如果您

编译 -ansi -pedantic -Wall 自动切换 gcc

我们需要这样使用gcc编译C源代码:gcc-ansi-pedantic-Wallprogram.c我想知道如何“自动化”这个,所以当我输入时:gccprogram.c它将自动编译3个开关。这可能吗? 最佳答案 您还可以使用make的隐式规则,这样您就不必为每个程序都编写一个makefile。如果你说makefoo并且当前目录中存在foo.c文件,Make将自动调用编译器。要为此添加标志,请在您的环境中定义变量CFLAGS,例如在bash中添加exportCFLAGS="-Wall-pedantic-ansi"到.bashrc。如果您

c++ - Clang、LLVM 和 g++

我安装clang是为了比较它与g++(gcc)对于某些C++程序的使用情况;如,我比较了编译时间、错误反馈等。对于相同的程序。我这样做主要是为了官方的LLVM教程(使用LLVM实现编译器)。有一次,我需要安装LLVM库(v.2.9.),而在此之前我只下载了clang。在此之后,使用clang++进行编译似乎不适用于以下教程代码;而g++似乎可以使用LLVM指令(例如,'llvm-config--libs`等)。在安装库的同时,我还必须从我正在阅读的旧教程(llvm2.2.,建议使用clang++语法)转到3.0。(建议使用g++语法),因为库包含位置已更改。我的问题解释下载llvm库后

c++ - Clang、LLVM 和 g++

我安装clang是为了比较它与g++(gcc)对于某些C++程序的使用情况;如,我比较了编译时间、错误反馈等。对于相同的程序。我这样做主要是为了官方的LLVM教程(使用LLVM实现编译器)。有一次,我需要安装LLVM库(v.2.9.),而在此之前我只下载了clang。在此之后,使用clang++进行编译似乎不适用于以下教程代码;而g++似乎可以使用LLVM指令(例如,'llvm-config--libs`等)。在安装库的同时,我还必须从我正在阅读的旧教程(llvm2.2.,建议使用clang++语法)转到3.0。(建议使用g++语法),因为库包含位置已更改。我的问题解释下载llvm库后