技术标签: c++ vscode 编译优化与开发 windows
首先,需要参考windows+cpp(二):安装cpp开发环境 MinGW 或 msys2 或 Cygwin 安装 MinGW 或 msys2 (推荐后者)
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:/msys64/mingw64/bin/g++.exe",
"args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: C:/msys64/mingw64/bin/g++.exe"
}
],
"version": "2.0.0"
}
其实整个配置中只有command和args最重要,这两者结合就是run 这个配置时候等价跑的命令。args: 将传给g++的命令行参数.
${file}: 代码文件, 将编译并在(${fileDirname}) 下生成它对应的可执行文件. 更多细节可参考 variables reference.
点击helloword.cpp,在Terminal工具栏中选择Run Build Task,或者Ctrl+Shift+B 编译该项目。点击下面TERMINAL右边的’+'新建一个TERMINAL,输入.\helloword.exe运行程序
> Executing task: C/C++: g++.exe 生成活动文件 <
正在启动生成...
D:\software\mingw-w64\mingw64\bin\g++.exe -fdiagnostics-color=always -g D:\dev\vscode\projects\helloworld\helloword.cpp -o D:\dev\vscode\projects\helloworld\helloword.exe
生成已成功完成。
Terminal will be reused by tasks, press any key to close it.
PS D:\dev\vscode\projects\helloworld> .\helloword.exe
Hello C++ World from VS Code and the C++ extension!
launch.json debug
工具栏选择Run->Add Configuration->C++ (GDB/LLDB)->g++.exe build and debug active file.
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
]
}
Change the stopAtEntry value to true to cause the debugger to stop on the main method when you start debugging.
The preLaunchTask setting is used to specify task to be executed before launch. Make sure it is consistent with the tasks.json file label setting.
在helloword.cpp中设置断点,然后选择 Run > Start Debugging或者F5就开始debug了。
c_cpp_properties.json, intelliSense
Ctrl+Shift+P 输入C/C++: Edit Configurations (UI)
设置编译器路径 compilerPath 和对应的intelliSenseMode。生成c_cpp_properties.json
intelliSense是vs code里的一个插件,功能包括:自动代码补全;实时错误检查;代码改进建议。
{
"configurations": [
{
"name": "Linux",
"includePath": ["${workspaceFolder}/**"],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
文章浏览阅读1.2w次,点赞21次,收藏67次。目录_不足一公斤按一公斤算c语言
文章浏览阅读1.3k次。2012年11月19日,瑞士巴塞尔,世界最大的花朵巨型魔芋时隔20个月再度开放,此花高2.27米,其块茎重量超过30磅。因开花时会散发出一种类似腐尸的刺鼻气味,因此人们又把它叫做“尸体花”。魔芋花的腐尸气味一般会持续三天左右,人在一千米以外的地方就能闻到,而这种气味会吸引以腐肉为食的甲虫及肉蝇来替它授粉。
文章浏览阅读877次,点赞7次,收藏6次。在Navicat的起始页面,点击”连接”按钮或在顶部菜单栏选择“连接”,然后选择你要连接的数据库类型(例如MySQL、PostgreSQL、SQL Server等)。成功连接后,你将能够查看数据库中的表格和其他对象,并可以执行相应的数据库管理操作。通过以上步骤,你已经成功连接了数据库,可以使用Navicat进行数据库管理和操作。在Navicat主界面选择你刚刚创建的连接,双击该连接或点击“连接”按钮。数据库:连接的数据库名称,如果需要连接特定数据库,请填写该字段。连接名:可任意命名,以方便识别这个连接。_navicat连接神通数据库
文章浏览阅读2.6k次。在mybatis中,编写sql语句带判断的情况下<if>标签。许多时候入参都是String的,所以就有很标准的写法。<if test ="a != null and a !=' ' ">执行语句</if>当传入值的类型不为String类型时,这样写就要有考虑了。上图:java中controller类接收前台传值,有Integer类型传入,可以查..._mybatis入参为date
文章浏览阅读2.1k次,点赞10次,收藏19次。线程中的wait()、notify()、notifyAll()详解在讲解wait()、notify()、notifyAll()方法之前,先了解一下什么是等待队列。所有的实例都拥有一个等待队列,它是在实例的wait方法执行后停止操作的线程的队列。打个比方就是为每一个实例准备的线程休息室。在执行wait方法后,线程便会暂停操作,进入等待队列这个休息室,除非发生下列四种中的某一种情况,否则线程会一直在等待队列中休眠。(1)有其他线程的notify方法来唤醒线程(2)有其他线程的notifyAll方法来唤醒_wait() notify() notifyall()
文章浏览阅读55次。常用方法查询:http://visualjquery.com/_jquery 站点图
文章浏览阅读1.9k次。可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list,tuple,dict,set,str等;另一类是generator ,包括生成器和带yeild的generator function,这些可以 直接作用于for循环的对象统称为可迭代对象:Iterable,可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator,list,dict,str虽然是Iterable,却不是Iterator。生成器就是特殊的迭代器。_python 生成器迭代器
文章浏览阅读77次。一、Spring中的IOC、DI、AOP、三级缓存什么是ioc:ioc是控制反转,就是把对象交给spring容器统一管理,不需要程序员手动去new,在需要的时候直接从容器中获取即可。ioc的实现方式//1.IOC通过注解实现的几种方式@Component@Controller@Service@Repostorypublic class A{ //以上四种注解是打在类上实现ioc的}@Configurationpublic class A{ @Bean _java面试题几个方向
文章浏览阅读4.5k次。type Exception reportmessage could not insert: [cn.itcast.shop.order.vo.Order]; SQL [insert into orders (total, ordertime, state, name, phone, addr, uid) values (?, ?, ?, ?, ?, ?, ?)]; nested exce_mysqldatatruncation: data truncation: incorrect datetime value
文章浏览阅读1.8k次,点赞2次,收藏2次。icode国际青少年编程竞赛学习与竞赛分享_icode 图形化高级数组
文章浏览阅读281次。确保选择正确的索引模式,并检查是否有来自Filebeat的日志数据。Filebeat是一个轻量级的开源日志数据收集器,用于将日志和文件数据从服务器发送到中央日志存储或分析系统。至此,您已成功在CentOS 7上安装和配置Filebeat,并将日志数据发送到Elasticsearch进行大数据分析。完成配置后,我们可以启动Filebeat并将其设置为在系统启动时自动启动。接下来,我们需要配置Filebeat以指定要收集和发送的日志文件。如果一切顺利,您将看到Filebeat开始读取和发送指定的日志文件。_centos7安装filebeat
文章浏览阅读1.2k次。Matlab 中 Bode 图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读 54 评论 0 字号:大中小 订阅 我们经常会遇到使用 Matlab 画伯德图的情况,可能我们我们都......MATLAB绘制Bode图与Nyqu... 暂无评价 3页 1下载券 实验五 MATLAB绘制Bode图... 13页 免费 新版本matlab中绘制bode... 2页 免费 ..._matlab根据扫频数据画波特图