ICode9

精准搜索请尝试: 精确搜索
  • c – 静态变量链接错误2019-09-11 09:06:25

    我在mac上编写C代码.编译时为什么会出现此错误?: Undefined symbols for architecture i386: “Log::theString”, referenced from: Log::method(std::string) in libTest.a(Log.o) ld: symbol(s) not found for architecture i386 clang: error: linker command fai

  • c – 如何从GCC /铿锵声组件输出中消除“噪音”?2019-09-11 00:10:26

    我想检查在我的代码中应用boost :: variant的程序集输出,以便查看哪些中间调用被优化掉了. 当我编译以下示例(使用G-5.3使用g -O3 -std = c 14 -S)时,似乎编译器优化了所有内容并直接返回100: (...) main: .LFB9320: .cfi_startproc movl $100, %eax ret .cfi_e

  • c – Windows上的Clang / LLVM 7.0.1多次初始化内联静态数据成员2019-09-10 20:05:35

    Windows上的Clang / LLVM 7.0.1每个TU初始化一次内联静态数据成员.据我所知,C 17这是不正确的. 尽管可以在多个TU中定义内联变量,但编译器和/或链接器必须确保它在程序中仅存在一次,因此仅初始化一次.就像多重定义的内联函数一样,在程序中只存在一次.请参阅以下小程序: // header.h

  • LLVM 的编译框架基本流程探索(Clang AST语法树)2019-09-10 15:01:32

    上一篇文章末尾提到 AST语法树。语句如下 clang -fmodules -fsyntax-only -Xclang -ast-dump src.pp   CompStream.cpp #include <iostream> int main() { int a = 10; int b = 20; int c = a + b; std::cout<< c <<std::endl; return 0; }   语法

  • c – 没有初始化程序的constexpr静态数据成员2019-09-10 12:06:29

    #include <complex> struct S { static std::complex<double> constexpr c; }; gcc生成错误,因为缺少初始化程序. Clang和MSVC不会生成错误. 据我所知,constexpr静态数据成员必须有一个初始化程序,即使它是类型类型,具有可以不带参数调用的构造函数(如本例所示).不幸的是,我没

  • c – 找不到stdarg.h2019-09-03 03:05:52

    我正在使用clang来编译C语言.我使用clang * .cc -o ray调用clang.但是,我收到此错误消息: –– mode: compilation; default-directory: “~/Programmeren/ray/” –– Compilation started at Thu Aug 11 14:50:30 clang *.cc -o ray In file included from Engine.cc:1: In

  • c – 条件表达式中的右值引用2019-09-02 07:07:23

    typedef decltype(true ? (long&&)0 : (long&&)0) T; 应该是什么? 根据gcc(4.7),它很长.根据clang(主干),它是长&&amp ;.这种差异导致clang无法编译使用gcc 4.7的libstdc的代码.谁是对的? 更新:正如ildjarn指出的那样,Clang是对的,正如理查德史密斯指出的那样,错误libstdc是由于标准

  • 两级嵌套c类与GCC一起使用但与Clang失败2019-08-31 23:05:53

    我在定义声明它的类之外的内部类时遇到了问题. struct Base { struct A { struct B; }; struct A::B { }; }; 它编译并与GCC一起工作但在Clang上失败并出现此错误: innerclass.cpp:6:12: error: non-friend class member 'B' cannot have a qualified na

  • 必须明确解析C内联基类方法?2019-08-31 03:09:12

    我的类层次结构中的继承和方法解析存在一个奇怪的问题.该代码正在使用clang 5.0和-O0进行编译.我有两个类,所以: class PrintBase { protected: static wstring_convert<codecvt_utf8<wchar_t>> sConverter; public: virtual void PrintChar(wchar_t ch) = 0; inline

  • c – 不能用Clang建造Botan2019-08-31 02:07:36

    我正在尝试建立一个链接到Botan 1.11的库.我使用configure.py生成合并并将其包含在我的项目中. 问题是,当我尝试构建项目时,我收到以下错误: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/wmmintrin.h:30:3:

  • 无法使用llvm和clang解析C.2019-08-30 23:08:55

    我正在用llvm编写一个小工具来解析C和C代码,但我似乎无法让它成功解析C语言.我可能错过了一些明显的东西. 这是我到目前为止: #include <iostream> #include "llvm/Support/Host.h" #include "llvm/Support/MemoryBuffer.h" #include "llvm/ADT/IntrusiveRefCntPtr.h" #include "l

  • c – 使用RecursiveASTVisitor访问Clang AST时确定Stmt的父函数节点2019-08-30 15:07:34

    我正在学习如何使用clang的libtooling构建一个解析C的工具. 我正在使用RecursiveASTVisitor继承的类,因此它的所有遍历和访问者方法都可用. 我想知道在重写方法VisitStmt(Stmt * s)时是否可以确定语句的父函数节点.例如,在这里,我可以从s获得FunctionDecl *吗? 谢谢.解决方法:我没有

  • c – gcc因模板递归而失败,而clang则没有2019-08-30 14:06:36

    比较clang 3.4.2和gcc 4.9,这对于下面的代码是否正确? #include <iostream> template<typename T> struct SelfRec { static const int value = SelfRec<T>::value; }; int main() { std::cout << SelfRec<int>::value << std::endl; ret

  • c – 类内部类的静态constexpr链接问题2019-08-29 19:07:19

    我正在尝试创建在类中定义的静态constexprs.我知道这个问题:static constexpr member of same type as class being defined,方法3现在工作正常. 但是,我的链接器有问题.它报告重复符号,可能是因为const到constexpr重新定义.有没有办法实现这个目标?我正在使用xcode 7. 我正在尝试的

  • c – 成功构建iOS后没有libclang.a?2019-08-29 18:08:19

    我已经为3.7版本提取了官方llvm / clang源代码,做了一些小修补(NSGetEnviron()),使用cmake为iOS配置和构建: cmake ../llvm_37_ios \ -DCMAKE_INSTALL_PREFIX=/Volumes/Transcend/dev/src/llvm_37_ios_armv7_installed \ -DLLVM_ENABLE_TERMINFO=OFF \ -DLLVM_ENABLE_THREADS=OF

  • c – 使用libclang从内存中的C代码生成程序集2019-08-29 13:05:50

    我需要实现一个库,它使用LLVM / Clang作为后端将C代码编译为eBPF字节码.代码将从内存中读取,我需要将结果汇编代码也存储在内存中. 到目前为止,我已经能够使用以下代码编译为LLVM IR: #include <string> #include <vector> #include <clang/Frontend/CompilerInstance.h> #include

  • c – OSX:如何静态链接库并动态链接标准库?2019-08-29 07:18:33

    如何指定clang静态链接某个库(在我的情况下是SDL2)并动态链接标准库? 使用-static并不好,因为链接器也试图静态链接标准库,这在OSX中是禁止的.另一方面,铿锵不知道-Wl,-Bstatic.解决方法:将静态库放在dir ./MyStaticLibs中,只需使用-L./MyStaticLibs/ -l< StaticLibraryName>. 编译

  • c – clang模板化使用__attribute __((vector_size(N)))2019-08-29 07:16:40

    我创建了一个使用SSE4.1向量指令的应用程序.为了更好地管理矢量类型,我创建了模板化的辅助结构vector_type,如下所示: template <class T, int N> struct vector_type { typedef T type __attribute__((vector_size(sizeof(T)*N))); using single_element_type = T; stati

  • 使用列表初始化时,C语言是否强制执行编译器优化?2019-08-29 01:08:56

    这是source.cpp #include <iostream> struct A { A(int i) : i(i) { std::cout << this << ": A(int)" << std::endl; } A(A const &a) : i(a.i) { std::cout << this << ": A(A const &)" <<

  • 由于虚拟析构函数/ clang,C链接器警告2019-08-28 19:08:18

    我收到了由虚拟析构函数引起的链接器警告.我的环境是KEIL编译器v6.5(clang). Warning: L6439W: Multiply defined Global Symbol __clang_call_terminate defined in invalid_group(new.cpp.o) rejected in favor of Symbol defined in .text.__clang_call_terminate(cxa_handlers

  • c – MSVC是否有权发现此方法调用不明确,而Clang / GCC不是?2019-08-28 16:05:05

    当运行此代码时,Clang(3.9.1)和GCC(7,快照)将“1”,“2”打印到控制台. 但是,MSVC无法编译此代码: source_file.cpp(15): error C2668: ‘Dictionary::set’: ambiguous call to overloaded function source_file.cpp(9): note: could be ‘void Dictionary::set(int64_t)’ sourc

  • linux – 为什么这个简单的汇编程序工作在AT&T语法而不是英特尔语法?2019-08-28 15:00:22

    这段代码有什么问题(在x86_64 Linux上运行)? .intel_syntax .text .globl _start _start: mov rax, 1 mov rdi, 1 mov rsi, msg mov rdx, 14 syscall mov rax, 60 mov rdi, 0 syscall .data msg: .ascii "Hello, world!\n" 当我运行它: $c

  • c – 编译器提供私有构造函数作为程序代码中的候选者2019-08-28 14:09:11

    #include <iostream> using namespace std; class Test{ private: Test(int a, int b=0) { cout << "private constructor\n"; } public: Test(int a) { cout << "public constructor\n";

  • c – 如何将可变数量的参数传递给LLVM opt pass?2019-08-28 14:04:47

    我想将可变数量的参数传递给我的LLVM opt pass. 为此,我做了类似的事情: static cl::list<std::string> Files(cl::Positional, cl::OneOrMore); static cl::list<std::string> Libraries("l", cl::ZeroOrMore); 但是,如果我现在调用选择: foo@foo-Ubuntu:~/llvm-ir-obfuscation$o

  • 可以在C中以可移植的方式使用命名属性初始化POD结构吗?2019-08-27 02:16:28

    我试图以与GCC 4.3.4和Clang 2.9兼容的方式使用命名属性初始化结构. struct A { unsigned int x; }; // GCC: error: expected primary-expression before '.' token A a = { .x = 0xdeadbeef; }; // Clang: error: use of GNU old-style field designator extension [-Werr

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有