草庐IT

xcode_markup_formatting_ref

全部标签

c++ - 编写 c++ 函数 format_string 进行格式化,如 std::string 的 sprintf

为了方便使用,我想编写类似于sprintf的格式化函数,只返回std::string,如下所示:std::stringformat_string(constchar*format,...)我可以在那里使用vsnprintf但有问题-我事先不知道临时缓冲区应该有多长。Microsoft上有函数_vscprintf可以做到这一点,但我认为它不可移植?一个选项是让临时缓冲区开始一些已知的大小,然后如果发现它不够用vsnprintf增加它。有更好的方法吗?谢谢附言请在没有提升的情况下给出答案。我知道Boost,但我很好奇如何在没有Boost的情况下实现它。 最佳答案

c++ - XCode 4.5 观察点不工作

我正在尝试在iOS上的Xcode4.5中调试C++代码,在连接的iPad2上运行该应用程序。我在我的代码上设置了一个常规断点,当我点击它时,我查看我的局部变量,单击一个变量并选择“Watchxxxxx”。lldb控制台显示:error:failedtocreatewatchpointform_step如果我尝试使用以下命令在控制台中手动设置它,结果相同:wsvxxxxx我得到:error:Wathpointcreationfailed(addr=0x.....size=4)error:sendinggdbwatchpointpacketfailed我正在使用LLDB使用调试配置运行。有

c++ - 如何在 Xcode 中追踪 "libc++abi.dylib: Pure virtual function called!"

我有一个混合使用C++、Objective-C和Swift的多线程OSX应用程序。当我的应用程序关闭时,我在Xcode调试器窗口中看到:libc++abi.dylib:Purevirtualfunctioncalled!我知道这个错误通常是由在C++类构造函数或析构函数中调用虚函数引起的。有没有简单的方法可以找到它的位置?我所说的“简单”是指“不分析每个具有虚函数的类的每个构造函数和析构函数的每一行的调用树”。我没有看到堆栈跟踪。打印此消息时,调试器不会停止程序。从我的应用委托(delegate)的applicationDidTerminate方法记录的消息在此消息之前。我尝试在“所有

c++ - Qt - 获取 "warning: format not a string literal and no format arguments"

在这样的行上不断收到警告qDebug("Anerroroccuredwhiletryingtocreatefolder"+workdir.toAscii());workdir是QString()warning:formatnotastringliteralandnoformatarguments 最佳答案 大概应该是:qDebug("Anerroroccuredwhiletryingtocreatefolder%s",workdir.constData());自qDebug将constchar*作为第一个参数。

c++ - 将 CGAL 库与 XCode 链接

我已经使用macports安装了CGAL。我在一个示例上运行CMake,它运行良好。所以我尝试创建一个新项目并粘贴示例中我需要的代码。所以我还没有链接CGAL库,无法运行代码。我不确定如何在build设置中链接它。希望有人能指导我完成。我正在尝试运行envelope2.cpp。 最佳答案 您提到了MacPorts,但这里是Homebrew的说明。它们应该非常相似,但您可能需要将某些路径从/usr/local更改为/opt/local。安装库brewinstallcgal添加包含打开项目设置。选择项目。选择build设置标签。选择全部

使用Swift语言将OPENCV集成到Xcode中

我尝试通过遵循本教程将OPENCV集成到XCode中。https://www.youtube.com/watch?v=ywubhqxwm5q编辑:我尝试了更多的教程,并始终看到那些类型的警告。但是,这样做后我发现了很多警告。我已经解决了其中一些,但仍然有很大一部分警告。警告称为AppleMach-OLinkerWarningGroup:directaccessinfunction'___cxx_global_var_init'fromfile'/Users/user/Desktop/OpenCV-SwiftTest/OpenCV-SwiftTest/opencv2.framework/open

c++ - 有没有办法强制使用 "this->"用于 clang-format/clang-tidy 中的类成员/方法?

我到处搜索,但我可能用错了术语。我还没有为此找到选项。我唯一发现的是这个未回答的问题(但是有点宽泛):CPPlint:Canyouenforceuseofthisforclassvariables?. 最佳答案 鉴于existingoptions,我不相信这在clang-format中是可能的,future也不会。主要原因是程序的工作方式。它不会将C++代码解析为AST,而是将文本标记化而不需要包含(定义它的成员和全局变量)而不是编译数据库(影响定义、包含路径……)它是甚至可以给它一段代码并重新格式化。从问题的性质来看,如果它可以存

c++ - 自定义支持 __attribute__((format))

GCC和Clang都支持对可变参数函数(如printf)进行编译时检查。这些编译器接受如下语法:externvoiddprintf(intdlevel,constchar*format,...)__attribute__((format(printf,2,3)));/*2=format3=params*/在OSX上,Cocoa框架还使用了NSString的扩展:#defineNS_FORMAT_FUNCTION(F,A)__attribute__((format(__NSString__,F,A)))在我们公司,我们有一个自定义的C++框架,其中包含一堆类,例如BaseString,它

c++ - Xcode 4.5 和 OpenMP with Clang (Apple LLVM) 仅使用一个内核

我们在一个C++11项目上使用Xcode4.5,我们使用OpenMP来加速我们的计算:#pragmaompparallelforfor(uintx=1;x虽然事件监视器显示程序使用了多个线程,但我们观察到只使用了一个内核:我们还在使用GCC4.7的Ubuntu上运行相同的代码,我们观察到所有内核上的争用。可能是AppleLLVM中删除了OpenMP支持吗?是否有OpenMP的替代方案?我们无法切换到GCC,因为我们使用C++11功能。 最佳答案 编辑:此答案现已部分过时。现代ClangsupportOpenMP,只是不是Apple随

c++ - 是否可以在 Xcode 5.1 中使用 std::make_unique?

由于Xcode5.1包含clang3.4,因此应该可以使用std::make_unique。好像是在memory.h中定义的。但是,它需要有_LIBCPP_STD_VER>11但由于__cplusplus宏的值,它仍然设置为11(仍然是201103L).有办法改变吗? 最佳答案 如clangwebsite中所述,您需要启用-std=c++1y。Xcode在其“C++语言版本”选项中不包含此选项作为选项,因此您需要手动输入它。为此,您需要在项目定义打开时进入“编辑器”菜单,然后按“显示定义”。您现在应该能够手动将“C++语言方言”选项