首页 > 编程语言 >小白的C++之路(一)

小白的C++之路(一)

时间:2024-11-27 23:29:20浏览次数:10  
标签:文件 exe 修改 C++ fileDirname 小白 cpp

作为编程小白,最近开始学习C++了。为学习C++,装了一个VScode,但是写的第一个代码就出现了问题,也是让本小白几天时间笑不出来。前前后后搜了不少文章,也搜了好些视频,总是没有解决成功,今天晚上糊里糊涂突然就成功了,特此记录一下。

问题如下:

 

解决经历:

为了解决这两个问题,真是搜了好多东西,大多都是在讲修改settings.json这个文件,但是我跟着几个文章改了几遍还是没有解决(不是指别人写的不对的意思,只是刚开始学,确实没大明白,我认为还是我自己没有改对,虽然但是,现在还是不知道怎么改(哭笑))

然后就开始了修改tasks和launch两个json文件,归根结底,其实我现在也还是不大明白,只能把我最后修改过的编译通过的版本放在这里,主要是为了纪念一下。

我的代码如下:

 

 总共是一个头文件和两个cpp文件。

修改后的tasks和launch文件如下:

 tasks文件中,

把"type": "cppbuild"修改为了"type": "shell",

在"-g"后面添了一个"${fileDirname}\\*.cpp",这个模式表示匹配当前文件所在目录(${fileDirname})下的所有扩展名为 .cpp 的文件。也就是我的E:\Code\\Try1\source路径下所有的cpp文件(I think),

在"-o"后面添了一个"${fileDirname}\\${fileBasenameNoExtension}.exe",这个可以让我的main.cpp文件运行之后,在这个文件夹下生成一个main.exe可执行文件,

把"options"里的"cwd"后面添了一个"${fileDirname}"(其实我搜了之后还是没懂cwd到底说了个什么意思(哭笑))。

 

launch文件中,

把"program"改成了"${fileDirname}/${fileBasenameNoExtension}.exe",这是在告知可执行文件的路径,

把"cwd"后面添了一个${fileDirname},

"miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe",这里要改成自己的路径,友情提示,要写gdb而不是gbd,不然就要报第二个错。

最后就是添一个"preLaunchTask": "C/C++: g++.exe 生成活动文件"。

最后:

把两个文件修改之后,目前程序是可以正常编译,并且生成一个可执行文件,可以正常运行。

正确输出了一个Hello World!。 

可能是一些低级错误,留作给自己警醒吧。

主要是看了博主DogDog_Shuai的文章VSCode编译单文件及多文件方法(基于g++,cmake,json三种方法)

标签:文件,exe,修改,C++,fileDirname,小白,cpp
From: https://blog.csdn.net/Y200499/article/details/144095452

相关文章

  • java小白入门学习之---类变量和类方法
    一、类变量(静态变量/静态属性)1.什么是类变量?类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量类变量在类加载时就初始化了(所以即使没有创建对象,只要类加载......
  • 【C++习题】16.滑动窗口_最小覆盖子串
    文章目录题目链接:题目描述:解法C++算法代码:图解题目链接:76.最小覆盖子串题目描述:解法暴力解法:列出所有符合要求的字串,然后比较大小。滑动窗口+哈希表比如,如果已经符合要求了那么left右移一位的话,right需要移动吗?left指向的地方恰好有符合t的字符,-......
  • 【C++习题】15.滑动窗口_串联所有单词的子串
    文章目录题目链接:题目描述:解法C++算法代码:图解题目链接:30.串联所有单词的子串题目描述:解法滑动窗口+哈希表这题和第14题不同的是:哈希表不同:hash<string,int>left与right指针的移动不同:移动的步长是每个单词的长度滑动窗口执行的次数不同C++算法代......
  • 小白必看详解循环语句,看完必会!
    循环语句循环的概念重复的执行一段代码,避免死循环,提高效率(时间复杂度-关注和 空间复杂度-不关注)循环包含三大语句:while语句、dowhile语句、for语句循环的三要素:初始值(初始的变量)迭代量(基于初始的改变)条件(基于初始的判断)while语句while(条件表达式(返回true和false......
  • C++命运石之门代码抉择:C++入门(中)
    文章目录3.C语言过渡到C++(中)3.1函数重载3.1.1函数重载的多种情况3.1.2函数重载的辨别3.1.3函数重载原理——名字修饰3.2引用3.2.1引用的概念3.2.2引用的特性3.2.3常引用3.2.3.1权限问题3.2.3.2类型转换3.2.4引用的使用3.2.4传值、传引用效率比较3.3内......
  • C++学习日记---第13天(类和对象---封装)
    笔记复习1.类和对象c++面向对象的三大特性为:封装,继承,多态c++认为万事万物都皆为对象,对象上有其属性和行为具有相同性质的对象,我们可以抽象为称为类2.封装作用:将属性和行为作为一个整体,表现生活中的事物,具有相同性质的对象,我们可以抽象为类。语法:class类名{访问权限(也可......
  • 小白新手村冒险之“烤”json串
    JSON是什么?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但是JSON是独立于语言的文本格式,许多编程语言都可以使用JSON。JSON的用途数据交换:JSON是网络应用中最常用的数据交换格式,常用......
  • 【AIGC】适合小白的Stable Diffusion教程:图生图
    本文主要分为四部分:\1.图生图原理\2.图生图流程介绍\3.随机种子Seed的应用\4.图生图应用场景今天开始讲解SD的「图生图」功能。你一定看到过下面这样的例子,通过原图通过AI绘画加工成自己想要的图片。在Midjourney中叫「垫图」,而在StableDiffusion中我们叫「......
  • 线性时间选择[C++,附代码]
    0引言问题:从无序数组中选择第k小的元素。1随机选择法1.1算法步骤:选择基准元素:随机选择一个元素作为基准。分区:对数组进行分区,使得基准元素左边的所有元素都小于它,右边的所有元素都大于它。分区过程完成后,我们得到了基准元素在数组中的位置pivotIndex。递归选择:如......
  • C++学习——函数返回数组
    首先不推荐函数返回数组,在C++中,函数不能直接返回一个本地数组,因为数组是分配在栈上的,当函数返回时,其栈帧会被销毁,因此返回的数组指针将会指向一个已释放的内存区域,这是未定义行为。不过,有几种方法可以用来从函数返回数组:文章目录1.返回指向数组的指针2.使用标准库容......