![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 62
zy_ky
这个作者很懒,什么都没留下…
展开
-
C++编译与链接(2)--‘g++‘ 不是内部或外部命令,也不是可运行的程序或批处理文件
文章目录在windows上直接在cmd中运行使用g++,会报错,‘g++’ 不是内部或外部命令,也不是可运行的程序或批处理文件,这是因为C语言的编译器本来是用Linux写的,而windows本来就没有C的编译器。后来由于windows广泛使用,需要在windows上使用C/C++语言,所以minGW(或者写作mingw)。minGW的全拼是Minimalist GNU for Windows.GCC本来是GNU的编译器套件,由于很好用就被不断扩展,现已被大多数类Unix操作系统(如Linux、BSD、原创 2021-11-27 21:09:35 · 2664 阅读 · 1 评论 -
windows中ini配置文件的读取
文章目录GetPrivateProfileIntGetPrivateProfileString参考来源链接GetPrivateProfileIntConfig.ini[Student]nAge=12int Result = GetPrivateProfileInt("Student", "nAge", 0, "Config.ini");为什么下面的语句读取不出来,每次都是Result = 0.也就是默认值?因为"Config.ini"是错误的路径,应该写成"./Config.ini"in原创 2021-08-05 16:41:04 · 1260 阅读 · 0 评论 -
Cmake makefile CMakeLists.txt都是干什么的?怎么用?
一直以来在github上找的linux的C代码,我用windows,都要用vs创建个工程给添加进去,会出现两个问题。 一个问题是包含很多头文件和文件夹的一堆C函数,如何组织起来,include得半天才能搞定,因为在linux中,这些C文件都是通过makefile等我不认识的语法组织起来的,这种情况下虽然能最后改为vs工程,但是耗时很多;另一个问题是linux的C和windows的有些C语法是不同的,有些函数也是不同的,linux写的C中经常有很多函数windows中没有或者反之,这种情况我从来就没改转载 2021-07-05 10:02:04 · 2447 阅读 · 2 评论 -
vs的PDB文件
无知使人焦虑恐慌。每天进步一点点,每天自信一点点。文章目录包含内容参考来源链接之前看到过别人用PDB调试,也不知道在干啥,也不敢问,只是觉得很厉害。今天晚上没事学习一下。包含内容参考来源链接感谢各位原作者的工作。PDB文件:每个开发人员都必须知道的...转载 2021-06-18 15:18:57 · 3317 阅读 · 0 评论 -
vs工程 vcproj和开发环境定义宏---$(IntDir)和$(OutDir)
知识往往是牵一发动全身,知识面不全会导致理解错误或者片面,会引发错误。多学习,多积累,每天进步一点点。文章目录vs 基础配置文件解析vcproj简介用户自定义开发环境宏查看全部宏的方法下面的列表是对用户宏的解释参考来源链接vs 基础配置文件解析.vcproj是工程文件,sln是解决方案文件。一个解决方案里面可以包含多个工程。你打开vcproj文件编译不了可能是因为这个工程里面用到了同一个解决方案中其它工程的东西。visual Studio.NET采用两种文件类型(.sln和.suo)来存储特定于解转载 2021-06-18 11:57:44 · 1141 阅读 · 0 评论 -
附加到进程调试
文章目录前言用途参考链接来源前言第一次使用“附加到进程调试”功能,在网上找了好久没有找到一个能说清楚到底是干什么的,看了一下下午最后还是请教了大哥才明白。好的指导很重要。于是决定记录下来。用途乙方给甲方提供了一个算法,用接口封装好dll后,发给甲方调用,甲方发现效果不对,但是乙方说没问题,于是甲方将自己的参考链接来源感谢博文原作者的工作。...原创 2021-06-17 19:57:13 · 3995 阅读 · 1 评论 -
matlab数组保存在txt中后在C中读取
每次用的时候临时百度,写好后下次又重新写,记录下来吧。matlab:fid = fopen('coef.bin', 'wb');for i =1:20 for j = 1 : 256 count = fwrite(fid, fb(i, j), 'float'); endendfclose(fid);在matlab中搜 fwrite函数,可以看到写入指定类型数据的方法,这里以float类型为例。在C中: FILE* erb_fd = fopen("coef.b原创 2021-04-27 19:09:00 · 294 阅读 · 0 评论 -
memset、memcpy等mem家族函数
整理一下mem家族函数。文章目录memsetmemcpymemset这是我最喜欢的函数。初始化为非零的数,或者中途使用的时候直接全部重置。memcpy我也喜欢这个函数,整段复制,终于不用for循环挨个复制了。 char *s = "GoldenGlobalView"; char d[20]; memcpy(d, s + 3, 4); //从第13个字符(V)开始复制,连续复制4个字符(View) d[4] = '\0'; //memcpy(d,s+12*sizeof(char),4*siz原创 2021-04-27 18:55:27 · 145 阅读 · 0 评论 -
#include “sndfile.h“读取音频文件的使用方法
在学算法时,每次用wav文件,都是直接跳过文件头,提前写好采样率和文件长度等信息,其实可以使用sndfile.h来解析。今天来谢谢使用方法。文章目录库文件的准备C测试代码参考来源文件库文件的准备注意:sndfile的dll库分32bit和64bit最简单的查找sndfile的dll库的方法是直接在自己电脑里搜sndfile.h,一般都会搜到,如果没有,就在libsndfile官方网站下载。C测试代码在配置属性–》链接器–》输入–》附加依赖项中添加libsndfile-1.lib;将libsnd转载 2021-04-22 16:14:44 · 2553 阅读 · 0 评论 -
exit(0)和return 0的区别
今天看一个程序int main后使用了exit(0)而没有return,来看看二者的区别吧。文章目录区别参考来源链接区别return返回函数值,是关键字; exit 是一个函数。return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。return是函数的退出(返回);exit是进程的退出。return用于结束一个函数的执行,将函数的执行信息传出给其他调用函数使用,这种情况下只能使用return;exit函数是退出应用程序,删除进程使用的内存空间,并转载 2021-04-21 10:13:15 · 7268 阅读 · 0 评论 -
哈希表
文章目录起因参考来源链接起因昨天注册了leetcode账号,简简单单的题目,以执行时间和内存消耗作为衡量算法优劣的指标,大神们就各种炫技,用哈希表的人居然很多,我看不懂。。。So。昨天晚上看了半个小时就是看一个别人貌似牛逼闪闪的一个函数,两项指标均打败100%的参与者(因此被推荐到了靠前的位置供大家欣赏),最后被我找出了问题,测试出了程序是错的,leetcode平台测试用例少,没有测出错,但是被我找出错误了,哼,嘚瑟得不行,所以,哈希表,我来了~参考来源链接...转载 2020-05-28 12:08:08 · 215 阅读 · 0 评论 -
C++链表
C++的内库STL中包含链表,可以直接使用。#include<iostream>#include<string>#include<list> //STL:标准模板类库using namespace std;struct student{ string name; int age; int num;};int main(){ list<string> myList; myList.push_back("我"); myList转载 2020-05-24 21:28:57 · 365 阅读 · 0 评论 -
双向循环链表
文章目录起因内部结构创建表头结点创建结点插入结点删除表尾结点删除指定位置结点打印双向链表测试参考来源链接起因链表是一种数据结构。刚学习了单链表,这就继续双向循环链表,不解释。内部结构struct doubleList{ int data; struct doubleList* front; struct doubleList* tail;};创建表头结点//表头结点的front和tail都指向自己struct doubleList* creatList(){ struct d转载 2020-05-24 21:17:26 · 485 阅读 · 0 评论 -
C++标准库与STL的关系
文章目录起因简介附加说明参考来源链接起因STL是C++的内库,里面有现成的链表可以直接使用。那什么是STL,STL和C、C++的关系是什么?简介C++标准库C++标准库是std命名空间中的所有内容,就是那些不带.h的头文件,如<cstdio>、<iostream>。STL标准模版库(Standard Template Library)它是一个可复用的组件库,其中包含了很多实用的算法和数据结构。STL是一个泛型思维的集中体现。区别1)C++标准库主要包含3部分: ST转载 2020-05-24 21:12:49 · 532 阅读 · 0 评论 -
单链表
文章目录起因结构体的指针成员类型可以是结构体自身类型链表的定义静态链表动态链表创建链表创建结点表头法插入指定结点删除打印(遍历)结点测试动态链表实例参考来源链接起因为了明白python装饰器函数,所以需要理解python的垃圾回收机制,其中就有引用计数器,明白引用计数器就需要知道什么是链表。(萝卜有点儿大)结构体的指针成员类型可以是结构体自身类型参考来源链接,点这里。定义自身类型的成员是不可以的定义结构体时,是不可以定义自身类型的成员的。这是因为结构体中各个成员所需的存储空间大小是编译阶段确定转载 2020-05-24 17:05:38 · 215 阅读 · 0 评论 -
filter(matlab2C)
转载自:https://blog.csdn.net/sinat_21026543/article/details/78755191void filter(const double* x, double* y, int xlen, double* a, double* b, int nfilt){ double tmp; int i, j; //normalization if (...转载 2020-05-01 21:31:17 · 163 阅读 · 0 评论 -
strrchr()和strchr()函数
文章目录功能strrchr()strchr()程序举例参考来源链接所属库 #include<string.h>功能strrchr()strrchr函数的作用是:查找一个字符串在另一个字符串中 末次 出现的位置,并返回从字符串中的这个位置起,一直到字符串结束的所有字符;如果未能找到指定字符,那么函数将返回False。函数原型 char * strrchr (cons...转载 2020-04-21 00:42:31 · 462 阅读 · 0 评论 -
fftw的使用
文章目录获取方法功能介绍程序使用方法步骤1:下载问题1:为什么dll文件要区分32bit还是64bit?问题2:为什么lib文件需要自己生成?问题3:def文件是什么?步骤2:生成lib导入库文件配置库文件编程使用参考链接获取方法FFTW首页:http://www.fftw.org/据说FFTW是世界上最快的FFT。下载地址:http://www.fftw.org/download.htm...转载 2020-04-18 19:33:37 · 7784 阅读 · 1 评论 -
vs项目属性
如果我们建立一个默认的vc项目ssyy,他的默认“常规“栏目中,“输出目录”为$(SolutionDir)$(ConfigurationName),所以调试时会在解决方案文件夹下建立一个debug(ConfigurationName的值为debug)文件夹,并在此文件夹下生成ssyy.lik链接器和ssyy.exe文件。默认“中间目录”为$(ConfigurationName...转载 2020-04-14 22:52:03 · 374 阅读 · 0 评论 -
vs解决方案和项目工程
文章目录解决方案和项目文件夹的包含关系解决方案下的文件都有什么?解决方案(fangan.sln)文件参考链接解决方案和项目文件夹的包含关系 假设新建一个项目ssyy1,解决方案起名fangan,注意解决方案包括项目,此时生成的最外层目录为fangan代表整个解决方案的内容都在这个文件夹内。在这个fangan文件夹内包含有fangan.sln的解决方案配置文件和一个ssyy1文件夹,ssyy1...转载 2020-04-14 20:47:05 · 5905 阅读 · 0 评论 -
visual studio 配置管理器 32位 64位
写这篇blog主要解决以下疑问:文章目录起因vs配置管理器的位数选择和电脑系统的位数什么关系?参考链接vs配置管理器的位数选择和电脑系统的位数什么关系?vs配置管理器的位数选择有什么区别?vs配置管理器的位数选择错误会带来什么影响。起因 运行别人的一段vs程序,必须使用x64才可以,在此之前从来没有留意过。vs配置管理器的位数选择和电脑系统的位数什么关系? 首先,关于电脑...转载 2020-04-11 00:03:46 · 6696 阅读 · 1 评论 -
vs2015代码预览滚动条
偶然在笔记本的vs2015打开后有滚动条,发现很好用,如下图所示:只要拖动右侧的显示框即可。添加方法为:工具–>选项–>文本编辑器–>纯文本–>滚动条Ok,希望你也喜欢~~Let’s enjoy it~...原创 2019-10-21 10:42:11 · 743 阅读 · 0 评论 -
命令行 error D8016: “/ZI”和“/Gy-”命令行选项不兼容
今天把一个原vs2010的程序,用vs2015打开,编译出现这个错误“命令行 error D8016: “/ZI”和“/Gy-”命令行选项不兼容”。产生原因:解决方案:原创 2019-09-10 20:35:26 · 4752 阅读 · 0 评论 -
C++如何在输入文件名基础上修改生成新的文件名
输入文件名的去掉后缀再添加上一些成分和输出文件名后缀,组合方法。#include<iostream>using namespace std;char* func(char* filename, char* suffix);int main(){ char filename[] = "test.wav"; char suffix[] = "_输出.pcm"; char...原创 2019-08-06 12:01:48 · 1292 阅读 · 0 评论 -
error C4996错误分析
之前总是毫无规律地出现这个C4996的error,头文件添加#pragma warning(disable:4996)就可以解决,但是好奇为什么别人的程序就可以不加入这么low的一行,今天仔细搞明白吧~Ps:本博客使用的是win7 vs2015文章目录现象原因分析解决方案参考来源现象error C4996: ‘localtime’: This function or variable m...转载 2019-10-11 14:14:22 · 1281 阅读 · 0 评论 -
C++的iostream标准库介绍+使用详解
文章目录为什么需要iostream1. iostream: istream 和 ostream2 fstream: ifstream 和 ofstream3. strstream: ostrstream 和 istrstream4. stringstream5. io_state 输入/输出的状态标志为什么需要iostream我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由...转载 2019-08-30 18:18:22 · 8331 阅读 · 2 评论 -
VS2015中的.vs文件
**.vs目录是用来存储当前用户在解决方案中的工作配置,具体包括VS关闭前最后的窗口布局、最后打开的选项卡/操作记录/文件文档、某些自定义配置/开发环境、调试断点等这类设置信息和状态。**这样每当用户关闭解决方案后再重新打开,就能继续之前的工作状态。在VS2015之前的版本,这些信息都是散乱的保存在解决方案根目录下(最明显的参照物就是.suo文件),现在是将这些统一放在.vs这个隐藏文件夹里,如...转载 2019-08-30 17:07:36 · 8172 阅读 · 2 评论 -
c++带默认形参值的函数
需要注意的地方:1.若函数具有多个形参,则默认形参值必须自右向左连续地定义,并且在一个默认形参值的右边不能有未指定默认值的参数。这是由于c++语言在函数调用时参数是自右向左入栈这一约定决定的。eg:int f(int a, float b=5.0, char c=‘c’);2.在调用一个函数时,如果省去了某个实参,则直到最右端的所有实参都得省去(当然,与其对应的形参要有默认值)。eg:in...转载 2019-08-30 13:35:16 · 1382 阅读 · 3 评论 -
C++计时
#include#include<time.h>using namespace std;int main(){long beginTime =clock();//获得开始时间,单位为毫秒for(int i=0;i<10000;i++){cout<<i<<endl;}//输出10000行数字long endTime=clock();//获得结束...原创 2019-08-21 10:46:37 · 1172 阅读 · 0 评论 -
C和C++头文件的关系
C++ 是在C语言的基础上开发的,早期的 C++ 还不完善,不支持命名空间,没有自己的编译器,而是将 C++ 代码翻译成C代码,再通过C编译器完成编译。这个时候的 C++ 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等头文件依然有效;此外 C++ 也开发了一些新的库,增加了自己的头文件,例如:iostream.h:用于控制台输入输出头文件。fstream.h:用于...转载 2019-08-25 13:44:04 · 479 阅读 · 0 评论 -
setw()函数使用
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-05-18 15:36:08 · 15227 阅读 · 0 评论 -
求矩阵行列式
开心,会插入代码了。#include<iostream> #include <iomanip> using namespace std; #define N 3double fun(double array[N][N]);void temp(double aa[],double bb[],int n); int main() { doubl...原创 2019-05-18 16:37:16 · 2933 阅读 · 0 评论 -
fopen本质上只能读取二进制和char
fread原型函数fread的原型函数为size_t fread ( void *buffer, size_t size, size_t count, FILE stream)ptr – 这是指向带有最小尺寸 sizenmemb 字节的内存块的指针。size – 这是要读取的每个元素的大小,以字节为单位。nmemb – 这是元素的个数,每个元素的大小为 size 字节。stream –...原创 2019-08-06 11:14:33 · 754 阅读 · 0 评论 -
_beginthreadex()传参
_beginthreadex()是C语言库中用于创建一个线程的。首先要明确_beginthreadex()和一个普通的函数没有啥区别,函数原型为uintptr_t _beginthreadex( // MANAGED CODEvoid *security,unsigned stack_size,unsigned ( __clrcall *start_address )( void * )...原创 2019-08-05 20:00:30 · 2977 阅读 · 0 评论 -
#pragma once的作用
今天打开vs2015创建一个.h文件,结果创建好之后里面直接有一个#pragma once,这在之前的vs版本中没见过。猜测应该就是避免头文件多次include的问题。查阅百度百科百度百科的解释链接之后记录如下:作用:为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别...转载 2019-09-01 12:47:15 · 2217 阅读 · 0 评论 -
C++编译与链接(0)-.h与.cpp中的定义与声明
特别好的内容,开篇先感谢原作者,膜拜。C++中有的东西需要放在可以在.h文件中定义,有的东西则必须放在.cpp文件中定义,有的东西在不同的cpp文件中的名字可以一样,而有的则不能一样那么究竟哪些东西可在头文件中定义,声明,哪些东西又必须在.cpp中定义,声明呢?*以下所有的讨论都是在全局命名空间中(即不定义自己的namespace)下进行的函数1、在.h中只能声明函数,在.cpp中可以声明与定义...转载 2019-09-02 00:05:04 · 1542 阅读 · 1 评论 -
C++ 提取系统时间
文章目录时分秒时分秒毫秒时分秒时分秒毫秒原创 2019-10-09 11:24:53 · 105 阅读 · 0 评论 -
GetPrivateProfileInt函数使用
GetPrivateProfileInt函数目的是读取配置文件,赋值参数。文章目录官网给出的信息其他帮助理解的信息引申参考来源官网给出的信息UINT GetPrivateProfileInt( LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault, LPCTSTR lpFileName);Parameters...原创 2019-10-08 16:22:17 · 4132 阅读 · 0 评论 -
C++ 给程序添加进度条
#include#include<Windows.h>//Sleep调用using namespace std;int main(){std::cout << "\n正在输出记录数据… ";for( int i=0; i <= 100; i++ ) // 打印百分比{std::cout.width(3);//i的输出为3位宽std::cou...转载 2019-09-26 11:49:57 · 696 阅读 · 1 评论 -
C++ 动态链接库和静态链接库
今天对C++生成动态链接路和静态链接库非常感兴趣,必须搞定,否则都没有心情干其他事了。Let’s go~文章目录源程序编译链接生成文件格式预编译编译和优化编译优化生成目标文件链接什么是库?动态静态的区别静态链接库静态链接库的创建方法lib的调用动态链接库动态链接库的创建方法dll的使用隐式链接显式链接源程序编译链接生成文件格式 首先贴出从源程序生成可执行文件的过程。源程序(sour...原创 2019-09-24 14:45:11 · 4360 阅读 · 1 评论