C++ gdb调试
GCC 和 GDB调试 总结一、GCC:gcc和g++是c/c++的编译器。
格式: gcc [options] file……
主要options:
选项
含义
-v
查看gcc编译器的版本,显示gcc执行时的详细过程;
-o
指定输出文件名为file,这个名称不能跟源文件名同名;
-E
只预处理,不会编译、汇编、链接;
-S
只编译,不会汇编、链接;
-c
编译和汇编,不会链接;
-g
产生符号调试工具(GNU的gdb)所必要的符号信息,想要对源代码进行调试,就必须加入这个选项。
具体过程:一个C/C++文件要经过预处理(preprocessing)、编译(compliation)、汇编(assembly)和连接(linking)才能变成可执行文件。
预处理,生成.i的文件[预处理器cpp]
将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]
有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
连接目标代码,生成可执行程序[链接器ld]
源文件:
12345678main.c #include ...
C++ GCC编译基础
GCC编译基础 资料准备:
❝ 为了方便演示和讲解,在这里提前准备好几个简单的文件:test.cpp test.h main.cpp 文件内容如下: ❞
1234567891011//main.cpp#include "test.h"int main (int argc, char **argv){ Test t; t.hello(); return 0;}
123456789101112//test.h#ifndef _TEST_H_ #define _TEST_H_ class Test{public: Test(); void hello(); ~Test();};#endif //TEST
1234567891011121314151617181920//test.cpp#include "test.h"#include <iostream>using namespace std;Test::Test(){}void T ...
C++ gdb调试
GDB调试–Python你还在用GDB调试程序吗?
如果是,那么我们是同道中人。但是你知道GDB有一个很强大的功能,Python scripting嘛?
如果是的,那么恭喜你,你是一个大牛。
本文主要讲述如何使用Python来提高你的gdb调试技能, 让你从繁重的重复的工作里面挣脱出来呼吸新鲜空气。
首先,第一件事,使用gdb7.x以上的版本,最好9.x的。因为Python的支持是从gdb7.0(2009年?)开始的。
进入正题gdb本来就支持自定义脚本辅助调试,为什么还要用Python脚本呢?因为自定义脚本的语法比较老,不如写Python欢快。如果你喜欢用原来的自定义脚本方法,那也是可以的。
借助Python,你可以将难看的数据变得好看,
借助Python,你可以将重复的工作变成一个命令,
借助Python,你可以更快的调试bug,
借助Python,你可以装逼,哈哈哈
……
将难看的数据变得好看以下面的代码为例
123456789101112#include <map>#include <iostream>#include <string>usi ...
C++ lambda函数
lambda函数
为什么要lambda函数
匿名函数是许多编程语言都支持的概念,有函数体,没有函数名。1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值。正因为有这样的需求,c++引入了lambda 函数,你可以在你的源码中内联一个lambda函数,这就使得创建快速的,一次性的函数变得简单了。例如,你可以把lambda函数可在参数中传递给std::sort函数。
123456789101112131415161718192021222324252627282930#include "stdafx.h"#include <algorithm> //标准模板库算法库#include <cmath> //数学库#include <iostream>using namespace std;//绝对值排序void abssort(float* x, unsigned n) { //模板库排序函数 std::sort(x, x + n, // Lambda 开 ...
C++ max_size和capacity
max_size和capacitymax——size1.官方文档描述:
Return maximum size
Returns the maximum number of elements that the vector can hold.
This is the maximum potential size the container can reach due to known system or library implementation limitations, but the container is by no means guaranteed to be able to reach that size: it can still fail to allocate storage at any point before that size is reached.
2.个人理解:
返回此容器所能容纳的最大值,但应注意,可能在达到此数值之前由于剩余内存过小无法继续分配而产生未知错误。
capacity1.官方文档:
Return size of allocate ...
Multisim14.0软件安装+破解
Multisim14.0软件安装+破解一、获取安装包1、百度网盘:链接:https://pan.baidu.com/s/1GyXwMln2WibPinsc6hz8gg 提取码:5ikh
或去网盘中资料文件夹下找
二、安装1、双击安装包
2、确定
3、选择自解压位置,最好不要有中文路径,Unzip
4、确定
5、选择第一个安装
6、如果电脑没有装.NET framework 4.0 会弹出这个框,提示安装这个框架,点击确定就好
7、等待安装完成
8、自动回到Multisim安装界面,名字和组织随便输入,序列号不需要输入,直接next
9、选择否
10、软件安装位置,不要含有中文路径
11、选择要安装的功能,默认就可以(软件带有对虚拟仪器软件labview的支持,可选功能)
12、默认即可,next13、等待
14、选择我接受,之后next
15、next
16、等待安装完成
17、安装完成
18、提示是否检查更新,选择No
19、稍后重启
三、破解1、在解压后的文件夹中右键破解工具,以管理员身份运行
2、在Base Edition 上右键,弹出的框中点击
3、对应的这部分功能就激 ...
unity 使用visual studio 2017 不能导入UnityEngine
unity 使用visual studio 2017 不能导入UnityEngine解决方案: 【edit】–【preferences】将external script editor 改为visual studio 2019.如图:
一般情况,直接关闭窗口,重构打开c#脚本就可以了,如果还是不行,把unity 和 visual studio 全部重启。
unity官方资源包Standard Assets导入错误的解决方法
unity官方资源包Standard Assets导入错误的解决方法unity官方资源包Standard Assets导入错误使用unity2020时,导入unity官方资源包Standard Assets出错了然后试了试2019、2018的版本,居然都不行unity2017倒没问题我惊了,官方都没发现这个bug吗仔细看了看Console,知道哪里出问题了
\Assets\Standard Assets\Utility\ForcedReset.cs和\Assets\Standard Assets\Utility\SimpleActivatorMenu.cs出错了,大概是因为新版的unity没有GUITexture这类库了吧
把ForcedReset.cs的GUITexture修改为UnityEngine.UI.ImageSimpleActivatorMenu.cs的GUITexture修改为UnityEngine.UI.Text
再运行时,就没有问题了
也就是说,把ForcedReset.cs改为
12345678910111213141516171819using System;us ...
QT
QT学习记录–Day2
2020/6/21 11点00分
今天加油希望搞完程序设计
1.Lambda表达式
见md文件夹下视频,讲解清晰。
2.QMainWindow
菜单栏 最多有一个
工具栏可以有多个
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465#include "mainwindow.h"#include <QMenuBar>#include <QToolBar>#include <QDebug>#include <QPushButton>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ //设置窗口大小 resize(800,600); //菜单栏 最多只能有一个!! / ...
QT
QT学习 Day-1
前言:没想到学习QT的最大动力竟然来自大作业DDL
从今天开始吧 2020/6/20 18点25分
1.QT简介1.1QT优点
跨平台
接口简单,易于上手
一定程度上简化了内存回收
1.2成功案列
Lnux桌面系统KDE
谷歌地图
VLC多功能化媒体播放器
2.创建第一个QT项目### 2.1 创建过程
点击创建项目后,Location选择项目位置和项目名称
Bulid System选择编译系统,qmake,cmake等
qmanke cmake差异:
Details选择默认窗口类,QWidget为空白窗体,QMainWindow带有菜单栏、工具栏等,QDialog带有对话框
Translation选择none即可
Kits选择使用的QT版本
Summary为选择版本控制软件
3.命名规范即快捷键
命名规范:
类名 首字母大写,单词和单词之间首字母大写
函数名、变量名称 首字母小写,单词和单词之间首字母大写
快捷键:
注释 ctrl + /
运行 ctrl + r
编译 ctrl + b
字 ...

