小编Sar*_*ang的帖子

Visual Studio 2012和程序兼容性助手

我已经在Win7-x64上成功使用VS2012好几个月了.今天重新启动我的机器启动后VS2012打开了这个兼容性对话框:

单击"在线检查解决方案"无效.我可以使用"运行程序"运行该程序但是VS2012不稳定,我无法运行我们的自定义开发和源代码控制插件.

有没有其他人遇到VS2012或任何想法的这个问题?感谢您的帮助.

最好的,Sarang

windows-7-x64 visual-studio-2012

41
推荐指数
2
解决办法
4万
查看次数

C++中是否有任何跨平台的线程库?

我正在寻找一些易于使用的用C++编写的跨平台线程库.

什么是你的意见boost::thread还是Pthreads?Pthreads是否仅在符合POSIX标准的系统上运行?

Qt库中的线程支持怎么样?

c++ multithreading cross-platform c++11

26
推荐指数
2
解决办法
2万
查看次数

通过http设置公共(或私有)符号服务器

我找到的每一篇文档(参考文献1到5)都讨论了如何使用共享的UNC路径设置符号服务器,然后将正确的设置提供给本地调试器实例(无论是_NT_SYMBOL_PATH还是Visual Studio IDE调试设置) ).

Microsoft提供了一个符号服务器(参考6),可通过http获取其公共符号存储.

我想为我自己的代码创建一个可通过http传输访问的符号服务器,而不是通过UNC文件共享.Mozilla人似乎已经这样做了(参考文献7),但它不再具有功能性.

到目前为止,是否有更好的参考可用于执行此任务?


参考

  1. https://msdn.microsoft.com/en-us/library/b8ttk8zy(v=vs.80).aspx
  2. http://msdn.microsoft.com/en-us/library/ms680693(v=vs.85).aspx
  3. http://stackhash.com/blog/post/Setting-up-a-Symbol-Server.aspx
  4. http://entland.homelinux.com/blog/2006/07/06/ ...
  5. http://msdn.microsoft.com/en-us/windows/hardware/gg462988
  6. http://support.microsoft.com/kb/311503
  7. http://developer.mozilla.org/en/Using_the_Mozilla_symbol_server

http symbol-server visual-studio

22
推荐指数
4
解决办法
1万
查看次数

clang交错源和汇编

想知道是否有可能从clang生成交错的源和汇编?我正在寻找与gcc命令相当的东西(如http://www.fclose.com/240/generate-a-mixed-source-and-assembly-listing-using-gcc/所示)

gcc -Wa,-adhln -g source_code.c > assembly_list.s
Run Code Online (Sandbox Code Playgroud)

我访问过Link:如何在gcc中从C/C++源获得汇编程序输出?但它到目前为止列出了程序集 - 但没有交错.

此外,Visual Studio确实为您提供了非常好的交错式汇编输出,详细信息如下:如何使用Visual C++查看代码背后的程序集?

谢谢你的帮助.

萨朗

c++ assembly gcc clang visual-studio

12
推荐指数
2
解决办法
4588
查看次数

clang的constexpr深度限制(fconstexpr-depth似乎不起作用)

无论如何配置constexpr实例化深度?我正在运行-fconstexpr-depth = 4096(使用clang/XCode).

但仍然无法编译此代码并出现错误:Constexpr变量fib_1必须由常量表达式初始化.无论是否设置了选项-fconstexpr-depth = 4096,代码都会失败.

这是clang的错误还是预期会以这种方式运行.注意:这在fib_cxpr(26)之前有效,27是在它开始失败时.

码:

constexpr int fib_cxpr(int idx) {
    return idx == 0 ? 0 :
           idx == 1 ? 1 :
           fib_cxpr(idx-1) + fib_cxpr(idx-2); 
}

int main() {
    constexpr auto fib_1 = fib_cxpr(27);
    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

c++ clang constexpr c++11 c++14

9
推荐指数
1
解决办法
2091
查看次数

用于几个组件的指数技巧

考虑这个完全有效的代码:

#include <type_traits>

template <typename T, typename IndexPack> struct Make;

template <typename T, template <T...> class P, T... Indices>
struct Make<T, P<Indices...>> {
    using type = P<(Indices+1)..., (-3*Indices)..., (Indices-1)...>;
};

template <int...> class Pack;

int main() {
    static_assert (std::is_same<Make<int, Pack<1,2,3,4>>::type, 
        Pack<2,3,4,5, -3,-6,-9,-12, 0,1,2,3>>::value, "false");
}
Run Code Online (Sandbox Code Playgroud)

我真正想要的输出是什么

Pack<2,-3,0, 3,-6,1, 4,-9,2, 5,-12,3>
Run Code Online (Sandbox Code Playgroud)

而不是Pack<2,3,4,5, -3,-6,-9,-12, 0,1,2,3>.我第一次尝试

using type = P<(Indices+1, -3*Indices, Indices-1)...>;
Run Code Online (Sandbox Code Playgroud)

但编译器简单地将其理解为无用的逗号运算符.得到我想要的东西的理想语法是什么?如果没有这样的语法,最简洁的方法是什么,请记住,使用Indices3次只是一个例子(我们可能想要使用它超过3次).请不要告诉我,我必须写一个助手来提取单个包,然后"交织"所有元素.这种噩梦般的方法不是最好的解决方案(只有当我们确切地知道要提取多少个包时,这样的解决方案才有效).

会定义

template <typename T, template <T...> class P, T I>
struct Component {
    using type = …
Run Code Online (Sandbox Code Playgroud)

c++ templates indices variadic-templates c++11

5
推荐指数
1
解决办法
344
查看次数