ICode9

精准搜索请尝试: 精确搜索
  • Libclang的python绑定生成的AST无法解析C源代码中的某些标记2019-10-10 05:58:56

    我正在使用Libclang的python绑定.我基本上有两个查询: >我想知道我们如何解析既不是由用户定义的,也不是为之包含库的库函数. 例如当我有以下源代码时– char* a=(char *)malloc(4); > Libclang无法解析malloc(),因为此代码中既没有包含stdlib,也没有为malloc提供用户定义的定义.

  • CLion 2019 for Mac如何快速修复和即时代码分析2019-10-09 16:55:17

    clion2019 mac版是一款适用于C和C ++的跨平台IDE,功能强大的智能编码辅助和代码分析软件,使用 clion汉化版能够通过即时导航和可靠的重构来提升你的工作效率,强大的智能代码辅助,让你省时省力又省心,拥有智能编辑器来分析上下文。此次分享的便是CLion 2019 for Mac使用教程-快速修复和即

  • c – 如何使用Clang从这个例子中获取基类?2019-10-09 03:05:32

    这是一个非常基本的代码示例,以及我想要的内容: class B{ // Implementation of class B }; class D : public B{ // Implementation of class D }; int main(){ try{ // Code for try statement } catch(D & d){ // Handler for D }

  • C中的数组分配在不同长度的堆栈上2019-10-08 21:06:46

    参见英文答案 > C++: Why does int array[size] work?                                    3个 我很惊讶地发现可以在C中的堆栈上分配变长数组(例如int array [i];).它似乎在clang和gcc(在OS / X上)都能正常工作,但是MSVC 2012不允许它. 这个

  • c – 没有中间表达式的三元运算符2019-10-07 20:18:13

    我最近意识到你可以在GCC中使用三元运算符而没有中间(?:或?:works)并且它会将第一个表达式插入到中间: // outputs 2 cout << (2 ?: 4); // outputs 3 cout << (0 ? : 3); 这个标准在哪里?我看了,没看到任何关于它的事.解决方法:它完全不符合标准. 您正在观察的是GCC扩展:https://gcc.g

  • c – 从sockaddr *转换为sockaddr_in *增加了所需的对齐2019-10-06 22:51:05

    当我使用一些看起来像的代码时,编译器会产生此警告. .... for(p = res; p != NULL; p = p->ai_next) { void *addr; std::string ipVer = "IPv0"; if(p->ai_family == AF_INET) { ipVer = "IPv4"; struct sockaddr_in *

  • linux – 如何更改ELF中代码段的对齐方式2019-10-06 22:50:45

    在ELF二进制文件中,如何更改可加载段的对齐方式? 在下面的例子中(见右下角),我想将0x200000减少到0x40960. LOAD 0x000000 0x000000400000 0x0000000000400000 0x000704 0x000704 R E **0x200000** LOAD 0x000e10 0x000000600e10 0x0000000000600e10 0x000230 0x000238 RW *

  • c – 模板模板参数和clang2019-10-06 20:07:10

    我有模板模板参数和clang的问题(可能是我的).以下玩具示例在g 4.7.0下编译并运行,而不是clang 3.0(基于LLVM 3.0),两者都是ubuntu 12.04. 玩具示例(test_1.cpp): #include <iostream> #include

  • Xcode C ::架构x86_64的重复符号2019-10-06 19:05:35

    我是Xcode的新手,当我构建以下代码(MWE)时,我收到以下错误 ld: 3 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 我有三个文件如下; main.cpp #include "B.cpp" int main() { square(5)

  • 在OS X Mavericks中从C链接C2019-10-06 15:06:50

    转换到OS X Mavericks和XCode 5.0.1后,我再也无法优雅地将已编译的C文件(从gcc输出)链接到C项目(从g输出). 从我的makefile生成的令人讨厌的命令对是: gcc `pkg-config --cflags glib-2.0` -g -Wall -O3 `pkg-config --cflags flann` -c -o vec.o vec.c g++ `pkg-config --cflags

  • 该代码是否无法在C 17中编译?2019-10-06 11:05:56

    我正在更新一个项目以使用C 17,并发现一些实例,其中遵循此模式的代码在最近版本的clang上导致编译错误: #include <boost/variant.hpp> struct vis : public boost::static_visitor<void> { void operator()(int) const { } }; int main() { boost::variant<int> v = 0;

  • 使用clang的静态链接libstdc2019-10-05 22:15:02

    当我使用GCC时,我可以使用以下方法在我的Ubuntu 15.04上构建程序: -static-libgcc -static-libstdc++ 并且编译后的二进制文件可以在“库存”Ubuntu 14.04上运行而无需任何外部软件包,只有标准更新. 是否有可能使用这种静态链接到带有clang的库来构建? 最常见的答案: >使用测试ubunt

  • c – 可变参数模板模板参数是否可以部分专用?2019-10-04 20:15:28

    考虑以下程序: template<template<typename ...> class> struct foo {}; template<template<typename> class C> struct foo<C> {}; int main() {} Clang拒绝了它的错误: class template partial specialization does not specialize any template arg

  • 警告:在C模式下将’c-header’输入视为’c -header’时,不推荐使用此行为2019-10-04 18:17:17

    这个clang错误信息是什么意思,为什么我得到它?我似乎无法在互联网上找到任何关于它的东西…… clang:警告:在C模式下将’c-header’输入视为’c -header’时,不推荐使用此行为 这是我的代码, MergeSort.h: #ifndef __MERGESORT_H__ #define __MERGESORT_H__ #include <iostream> usin

  • C正则表达式对长序列进行了段错误2019-10-04 16:16:52

    我正在解析stackoverflow转储并出现在this看似无辜的问题上,带有小的,几乎看不见的细节,它在文本末尾有22311个空格. 我正在使用std :: regex(不知何故,它们对我来说比boost :: regex更好)用单个空格替换所有连续的空格,如下所示: std::regex space_regex("\\s+", std::regex::optim

  • 适用于Windows的LLVM C IDE2019-10-03 12:07:20

    是否有适用于Windows的C/C++ IDE,它与LLVM编译器(和Clang C/C++分析器)集成,就像现代Xcode一样. 我有Dev-Cpp(它使用过时的GCC)和Code::Blocks(有一些GCC).但GCC给了我非常神秘的错误信息.我想从Clang前端获得一些用户友好的错误消息. 是的,Clang无法用于复杂的C代码,但是主干Clang

  • c – 我可以扩展参数包并用它定义参数列表吗?2019-10-01 18:05:03

    从[temp.variadic](工作草案)开始,在我看来,可以在定义另一个模板类或函数的参数列表时扩展参数包. 考虑以下课程: template<typename... T> struct S { template<T... I> void m() {} }; int main() { S<int, char> s; // ... } 目的是捕获用于专门化模板类S的

  • libc – 停止std重命名为std :: __ 1?2019-09-29 12:07:07

    经过大量努力,让clang和libc编译,运行,与NetBeans集成,甚至交叉编译到32位机器,我想我已经弄明白了!所以我去使用libstdc没有的一些功能(将我的开发环境颠倒过来的全部原因),并发现……我实际上无法做到这一点. 安装了libc,它工作,并且编译的程序(当它工作时)确实需要它.但是,编译器

  • c – 我的书对lambda返回类型的讨论是错误的吗?2019-09-27 22:07:10

    我的书说: Lambdas with function bodies that contain anything other than a single return statement that do not specify a return type return void. 但是这个: auto f = []{ int i=0; i++; return std::string("foo"); }; std::cout << f() << s

  • c – 在CMake中,如何测试编译器是否为Clang?2019-09-26 16:06:00

    我们有一套cross-platform CMake build scripts,我们支持Visual C++和GCC建设. 我们正在尝试Clang,但我无法弄清楚如何测试编译器是否与我们的CMake脚本一起使用. 我应该测试什么来查看编译器是否是Clang?我们目前正在使用MSVC和CMAKE_COMPILER_IS_GNU<LANG>分别测试Visual C和GCC.

  • c – 复制构造函数和转发构造函数之间的冲突2019-09-26 07:07:02

    此问题基于在GCC-4.6上适用于我的代码,但在C 0x模式下不适用于具有CLang-3.0的其他用户. template <typename T> struct MyBase { //protected: T m; template <typename Args...> MyBase( Args&& ...x ) : m( std::forward<Args>(x)... ) {} }; 只要T支持该构造签

  • c – gcc可以编译一个可变参数模板,而clang则不能2019-09-25 18:07:16

    我正在阅读Leor Zolman先生提出的一些名为An Overview of C++11 and C++14的幻灯片.在第35页,他介绍了一种使用decltype进行求和运算的方法. struct Sum { template <typename T> static T sum(T n) { return n; } template <typename T, typename... Args> /// sta

  • c – 如何告诉CMake在Windows上使用Clang?2019-09-19 13:06:08

    我有一个使用CMake构建的C项目.我通常在OSX上构建,但现在我正在尝试使用Windows版本.出于兼容性原因,我想在Windows上使用Clang. 我从LLVM安装了预编译的Clang 3.8二进制文件: C:\Program Files\LLVM\bin\clang.exe C:\Program Files\LLVM\bin\clang++.exe 它也安装在我的PATH上:

  • c – 在跨平台cmake项目中设置编译器标志的现代方法2019-09-18 23:15:06

    我想编写一个cmake文件,在调试和发布版本中为clang,g和MSVC设置不同的编译器选项. 我目前正在做的事情看起来像这样: if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4") # Default debug flags are OK set(CMAKE_CXX_FLAGS_RELEASE "{CMAKE_CXX

  • 为什么这个程序被三个C编译器错误地拒绝了?2019-09-15 18:05:24

    编写我编写的C程序时遇到一些困难. 这个程序非常简单,据我所知,它符合C标准中规定的所有规则.我已经两次阅读整个ISO / IEC 14882:2003以确定. 该计划如下: 这是我尝试使用Visual C 2010编译此程序时收到的输出: c:\dev>cl /nologo helloworld.png cl : Command line warning D9024 :

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

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

ICode9版权所有