当前位置:   article > 正文

VS Code中如何进行使用标准库stdc++和多线程pthread调试_vscode 多线程调试

vscode 多线程调试

在刷leetcode时,遇到了一道使用标准库的题,如下

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <iostream>
  6. using namespace std;
  7. void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
  8. //将nums2中的数先装进nums1
  9. int j = 0;
  10. for(int i = (m-1); i < (m+n);i++ ){
  11. nums1[i] = nums2[j++];
  12. }
  13. //将nums1按从小到大排序
  14. std::sort(nums1.begin(),nums1.end());
  15. }
  16. int main(){
  17. using namespace std;
  18. vector<int> nums1 = {1,2,3,0,0,0};
  19. int m = 3;
  20. vector<int> nums2 = {2,5,6};
  21. int n = 3;
  22. merge(nums1,m,nums2,n);
  23. //输出合并排序后的 nums1
  24. for (int num : nums1) {
  25. std::cout << num << " ";
  26. }
  27. std::cout << std::endl;
  28. return 0;
  29. }

如果使用命令行编译:g++ main.cpp -lstdc++ 则没有问题
但使用VS Code调试时会出现如下报错  

分析可知是代码中使用了标准库,但是在vscode中debug时没链接上
打开tasks.json
将“-lstdc++”添加上,再次调试

可以正常使用
以此类推,在编译多线程调试的时候直接用vscode调试则

打开task.json添加上“-lpthread”

就可以正常调试了~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/1014309
推荐阅读
相关标签
  

闽ICP备14008679号