草庐IT

clang-omp

全部标签

c++ - 在 omp 关键部分内引发 C++ 异常

我想知道在OMP临界区中抛出C++异常是否安全。#pragmaompcritical(my_critical_section){...throwmy_exception("failed")...}g++没有提示。我很困惑,因为它提示关键部分内的return语句。它返回错误:invalidexitfromOpenMP结构化blockwhenIwrite#pragmaompcritical(my_critical_section){...return;...}那么,为什么在临界区留下异常是可以的,但不可以在返回语句中留下它? 最佳答案

c++ - 在 omp 关键部分内引发 C++ 异常

我想知道在OMP临界区中抛出C++异常是否安全。#pragmaompcritical(my_critical_section){...throwmy_exception("failed")...}g++没有提示。我很困惑,因为它提示关键部分内的return语句。它返回错误:invalidexitfromOpenMP结构化blockwhenIwrite#pragmaompcritical(my_critical_section){...return;...}那么,为什么在临界区留下异常是可以的,但不可以在返回语句中留下它? 最佳答案

c++ - 任何将 Clang 作为脚本解释器嵌入 C++ 代码的教程?

我还没有使用llvm或clang的经验。从我读到的clang据说很容易嵌入Wikipedia-Clang,但是,我没有找到任何关于如何实现这一点的教程。那么是否可以通过JIT在运行时编译和执行用户定义的代码来为c++应用程序的用户提供脚本功能?是否可以调用应用程序自己的类和方法并共享对象?编辑:对于脚本语言(甚至C++本身),我更喜欢类似C的语法 最佳答案 我不知道任何教程,但Clang源代码中有一个示例C解释器可能会有所帮助。你可以在这里找到它:http://llvm.org/viewvc/llvm-project/cfe/tru

c++ - 任何将 Clang 作为脚本解释器嵌入 C++ 代码的教程?

我还没有使用llvm或clang的经验。从我读到的clang据说很容易嵌入Wikipedia-Clang,但是,我没有找到任何关于如何实现这一点的教程。那么是否可以通过JIT在运行时编译和执行用户定义的代码来为c++应用程序的用户提供脚本功能?是否可以调用应用程序自己的类和方法并共享对象?编辑:对于脚本语言(甚至C++本身),我更喜欢类似C的语法 最佳答案 我不知道任何教程,但Clang源代码中有一个示例C解释器可能会有所帮助。你可以在这里找到它:http://llvm.org/viewvc/llvm-project/cfe/tru

c++ - clang 3.1 看不到 unique_ptr?

我刚刚开始玩clang并尝试编译以下示例程序:#include#includeintmain(){std::unique_ptru(newunsigned(10));std::cout编译时出现以下错误:$clang++helloworld.cpphelloworld.cpp:6:10:error:nomembernamed'unique_ptr'innamespace'std'std::unique_ptru(newunsigned(10));~~~~~^helloworld.cpp:6:29:error:expected'('forfunction-stylecastortypec

c++ - clang 3.1 看不到 unique_ptr?

我刚刚开始玩clang并尝试编译以下示例程序:#include#includeintmain(){std::unique_ptru(newunsigned(10));std::cout编译时出现以下错误:$clang++helloworld.cpphelloworld.cpp:6:10:error:nomembernamed'unique_ptr'innamespace'std'std::unique_ptru(newunsigned(10));~~~~~^helloworld.cpp:6:29:error:expected'('forfunction-stylecastortypec

c++ - 使用 Clang 的函数原型(prototype)中不允许使用“自动”

使用带有std=c++1y标志的Clang3.5、3.6或3.7,以下代码无法编译:#includeautofoo(autobar){returnbar;}intmain(){std::cout给出的错误是:error:'auto'notallowedinfunctionprototype我在使用g++4.9时没有错误。产生此错误是因为Clang尚未实现此功能,还是因为我不允许这样做而GCC以某种方式允许它? 最佳答案 正如我们从ISOC++讨论邮件中看到的:decltype(auto)parametersvs.perfectfor

c++ - 使用 Clang 的函数原型(prototype)中不允许使用“自动”

使用带有std=c++1y标志的Clang3.5、3.6或3.7,以下代码无法编译:#includeautofoo(autobar){returnbar;}intmain(){std::cout给出的错误是:error:'auto'notallowedinfunctionprototype我在使用g++4.9时没有错误。产生此错误是因为Clang尚未实现此功能,还是因为我不允许这样做而GCC以某种方式允许它? 最佳答案 正如我们从ISOC++讨论邮件中看到的:decltype(auto)parametersvs.perfectfor

c++ - 如何在 -std=c++11 -Weverything -Werror 中使用 clang++

我要编译以下文件(temp.cpp):#includeclassFoo{public:Foo()=default;};intmain(){std::cout使用以下命令:clang++temp.cpp-otemp-std=c++11-Weverything-Werror有一个错误:temp.cpp:5:11:error:defaultedfunctiondefinitionsareincompatiblewithC++98[-Werror,-Wc++98-compat]我知道有一个像c++98-compat这样的警告,它是一切的一部分。如何启用除c++98-compat之外的所有警告?

c++ - 如何在 -std=c++11 -Weverything -Werror 中使用 clang++

我要编译以下文件(temp.cpp):#includeclassFoo{public:Foo()=default;};intmain(){std::cout使用以下命令:clang++temp.cpp-otemp-std=c++11-Weverything-Werror有一个错误:temp.cpp:5:11:error:defaultedfunctiondefinitionsareincompatiblewithC++98[-Werror,-Wc++98-compat]我知道有一个像c++98-compat这样的警告,它是一切的一部分。如何启用除c++98-compat之外的所有警告?