
c++
F~C~H
这个作者很懒,什么都没留下…
展开
-
Symbolicc++库
link:https://issc.uj.ac.za/symbolic/symbolic.html使用SymbolicC++3 3.35 gzipped tar ,这个是只包含header file的库,生成静态库的版本SymbolicC++3 3.35 with GNU autoconf有问题。原创 2022-01-23 17:58:05 · 799 阅读 · 0 评论 -
GCC 编译使用动态链接库和静态链接库--及先后顺序----及环境变量设置总结
GCC 编译使用动态链接库和静态链接库 1 库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用。(TODO:链接动态库时链接阶段到底做了什么...转载 2021-03-14 11:17:02 · 2128 阅读 · 0 评论 -
linux gcc -l参数和-L参数用法含义
gcc -l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-lte...转载 2021-03-14 11:06:46 · 756 阅读 · 0 评论 -
string、const char*、 char* 、char[]相互转换
转载 2021-02-22 20:57:36 · 158 阅读 · 0 评论 -
vs2017和MATLAB2016b混编出现初始化异常
vs2017 调用MATLAB2016b中动态链接库dll,vs2017出现“异常:0xC0000005: 读取位置 0...转载 2019-07-11 20:41:18 · 846 阅读 · 0 评论 -
MFC的使用——在共享DLL中使用MFC、在静态库中使用MFC
我们在使用Microsoft Visual Studio软件(也就是我们常常说的VS)时,其中项目属性中有一项叫做“MFC的使用”,里面包含有不同的设置,会影响我们所编写的程序的使用,今天我就遇到了这个情况,我们一起来总结一下,避免犯下相同的错误。内容昨天写了一个小程序,使用的是MFC应用程序的工程,工具的版本为VS2013,工程参数都是默认的,其中有一项设置叫做“MFC的使用”,默认设置是“...转载 2019-07-11 17:45:48 · 344 阅读 · 0 评论 -
说说win32 控制台应用程序、win32 项目、mfc项目、空项目那些事儿
首先,说一下空项目,大多数想单纯创建c++工程的新同学,打开vs后很可能不知道选择创建什么工程,这时候请相信我,空项目是你最好的选择。因为空工程不包含任何...转载 2019-07-11 17:23:39 · 339 阅读 · 0 评论 -
C++: C++函数声明的时候后面加const
转自:http://blog.youkuaiyun.com/zhangss415/article/details/7998123非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误),表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用);唯一的例外是对于mutable修饰的成员。...转载 2019-07-04 14:22:53 · 433 阅读 · 0 评论 -
unordered_map以char *作为key值
unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的...转载 2019-06-27 15:45:51 · 3564 阅读 · 1 评论 -
C++如何获取当前路径下所有文件的文件名
C++如何获取当前路径下所有文件的文件名 今天我遇到了这样一个任务:要求编写一个程序,统计和这个程序在同一目录下(及其子目录)所有文件的单词数。统计单词数十分倒不是太难,倒是找出同一目录下的所有文件,是我从来没有接触过的。仔细分析,这个问题其实包含两个小问题:1. 如何获取当前程序所在文件夹的路径2....转载 2019-08-17 00:44:58 · 9977 阅读 · 0 评论 -
C++ 获取文件夹下的所有文件名
C++ 获取文件夹下的所有文件名 获取文件夹下所有的文件名是常用的功能,今天再一次有这样的需求,所有就在网上查找了很多,并记下以供后用。原文:http://blog.youkuaiyun.com/cxf7394373/article/details/7195661原文:http://qiaoxinwang.blog.16...转载 2019-08-17 17:00:30 · 2636 阅读 · 0 评论 -
关于C++中临时对象的讨论
https://www.cnblogs.com/littleant/archive/2012/08/01/2618846.htmlhttps://www.cnblogs.com/xkfz007/articles/2506022.htmlhttp://qiusuoge.com/9048.第二篇关于为什么非常数型引用(ref-to-no-const)无法产生一个临时对象:由于临时对象都是con...原创 2019-09-01 01:25:53 · 173 阅读 · 0 评论 -
C语言中关于动态分配内存的一些思考
利用malloc()函数分配得到的一个内存空间,在使用free()释放内存后,相当于把申明得到的变量与这块内存之间的联系消除了,但是这个变量其中仍然存储着这块内存的地址,并且仍然可以利用这个free()后的变量去读写这块内存中的内容,但是此时这种操作是违法的,此时这个指针就是一个野指针。网上看过一种说法很有意思:你利用malloc函数在heap中申请了一段内存,就相当于你租了一个房子,此时你可...原创 2019-09-21 18:54:30 · 255 阅读 · 0 评论 -
malloc内存分配与free内存释放
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-09-21 18:59:40 · 1230 阅读 · 0 评论 -
跟我一起写Makefile(整理版)
跟我一起写Makefile陈皓(博客地址:http://blog.youkuaiyun.com/haoel/article/deta...转载 2019-09-22 20:35:58 · 702 阅读 · 0 评论 -
Compare Dynamic programming with Recursion
参考StackOverflow:https://stackoverflow.com/questions/12133754/whats-the-difference-between-recursion-memoization-dynamic-programming原创 2019-10-01 23:08:36 · 143 阅读 · 0 评论 -
STL之Stringstream字符串流使用总结
如果你已习惯了<stdio.h>风格的转换,也许你首先会问:为什么要花额外的精力来学习基于<sstream>的类型 转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int类型转换到字符串类型。为了正确地完成这个任...转载 2019-06-26 11:29:27 · 237 阅读 · 0 评论 -
C++ 语言宏定义函数的使用(定义单行和多行)
在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。宏定义中允许包含两行以上命令的情形,此时必须在最右边加上”\”且该行”\”后不能再有任何字符,连注释部分都...转载 2019-06-25 11:18:22 · 2189 阅读 · 0 评论 -
C++调用MATLAB函数、打包dll
在项目中,遇到需要用c++调用matlab程序,这里记录下整个过程。以供遇到类似问题的人作参考。此问题棘手的原因主要有在MATLAB编写的项目程序中用到了很多深度学习库(FLANN、vlfeat库)和caffe框架,经过多次尝试,最终在VS中成功调用。准备环境ma...转载 2019-06-04 23:38:56 · 1130 阅读 · 2 评论 -
C++中堆栈的区别
在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。 要点: 堆:顺序随意 栈:先进后出 c/C++ 堆和栈的区别 對了解Java會有幫助的一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈转载 2017-08-30 13:55:17 · 529 阅读 · 0 评论 -
C++静态变量内存分配,编译阶段,解密
注意: C++静态成员变量是用static修饰的成员变量,不属于对象的一部分,而是类一部分,因此可以在没有实例化任何对象的时候使用静态成员变量。但是必须初始化它。之所以必须初始化它是因为:全局静态变量自动初始化,但是局部变量由于静态变量只能被初始化一次,所以初始化成员变量不要放在如下地方:1.类的构造函数(构造函数可能多次被调用);2.头文件中(头文件可能被包含入多个地方,也可能被执行多次)。应该放转载 2017-08-30 14:01:49 · 5491 阅读 · 3 评论 -
C++中构造函数详解
c++类的构造函数详解 一、 构造函数是干什么的 class Counter { public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类型 Counter() { m_value = 0; } p转载 2017-09-09 13:48:53 · 3147 阅读 · 0 评论 -
VS2010,VC6.0如何添加自定义消息
vs2010添加自定义消息步骤:1.#define UM_MYMESSAGE WM_USER+12.在类向导中为对话框类选择 添加自定义消息3.编辑自定义消息处理函数对应的代码。(一般在步骤2只是生成了函数名,还没函数体)比VC6.0的完全手工添加省事。VC6.0添加自定义消息步骤:1、首先在用户类中声明自定义消息WM_SHOWTASK(当然可以为其他):#define WM_MYMESS转载 2017-09-02 23:53:13 · 1010 阅读 · 0 评论 -
public、protected、private在C++和Java中的应用及区别
public、protected、private在C++和Java中的应用及区别 转载 2009年08月04日 17:33:00 标签:转载 2017-10-14 16:19:34 · 755 阅读 · 0 评论 -
auto关键字:for(auto &i:s)和for(auto i:s)
代码1:#include<iostream>#include<string>using namespace std;string s = "hello";for (auto &i : s ) //i是个引用 i到底引用的是什么?i = toupper(i); //改变成大写,影响s的值cout<&...转载 2018-12-23 12:17:01 · 21484 阅读 · 0 评论 -
#progma once和#ifndef的区别
为了避免同一个文件被include多次1 #ifndef方式2 #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEF转载 2018-12-23 13:46:43 · 635 阅读 · 0 评论 -
C++中system()函数的用法
转载自:http://hi.baidu.com/519378007/item/5c49bb05e23728dbdce5b0e7windows下system () 函数详解 windows操作系统下system () 函数详解(主要是在C语言中的应用) 函数名: system 功...转载 2019-02-04 01:27:27 · 23257 阅读 · 0 评论 -
Linux中利用gcc编译C++程序
一、C/C++的编辑编译与链接敲代码的过程就是编辑过程,在编辑完成程序后需要经过编译和链接两个步骤才可以把程序变成我们所需要的可执行程序。编译过程(包括预处理、编译,汇编(test.s到test.o)三个过程)最终在linux系统上生成.o文件,在windows系统上生成.obj文件。这个过程会将.cp...转载 2019-02-04 01:31:06 · 5961 阅读 · 0 评论 -
VS 多工程之间管理与调用(超详细)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_34719188/article/details/80956749 </div> <div id="content_vie...转载 2019-02-04 01:34:19 · 1648 阅读 · 0 评论 -
GrayCode代码(C++版)
#include <iostream>#include <vector>#include <algorithm>using namespace std;vector<int> IntToBin(int n){ vector<int> Bin; int tmp = n; while (tmp) { Bin.pu...原创 2019-02-12 14:18:21 · 409 阅读 · 0 评论 -
如何避免“iterator not incrementable”错误
最近加入了公司的一个移植项目,目标是把原来在PC平台上的程序放到360上运行。客户给的是PC上的代码和数据,编译过后就能够跑了。但是程序运行时,偶尔会报告错误。在VS2010启动的情况下,可以看到Debug游标停在对一个++...转载 2019-02-18 19:36:45 · 197 阅读 · 0 评论 -
LeetCode(1)(C++持续更新)
搞清楚,string和char的区别,在使用如下初始化时:string _s(t,' ');一定是单引号,而不是双引号!!!在使用erase()函数时一定要使用如下形式:for (auto i = s_new.begin(); i !=s_new.end();) { if (*i == ' ') { i=s_new.erase(i); } else { ...原创 2019-02-19 05:42:22 · 293 阅读 · 0 评论 -
C/C++ 取整函数ceil(),floor()
#include <math.h> doublefloor(double x); float floorf(float x);long double floorl(long double x);double floor(double x);double ceil(double x);...转载 2019-03-18 10:07:29 · 2564 阅读 · 1 评论 -
MATLAB2016b vs2017 mbuild -setup 未找到支持的编译器或 SDK Unable to complete successfully.
关于使用MATLAB2016b 转换exe程序,无法加载vs2017的问题,使用mbuild -setup提示未找到支持的编译器或 SDK Unable to complete successfully. 这里在官网找到了需要在***\MATLAB\R2016b\bin\win64\mexopts在这个文件下添加vs2017的支持文件,下载下来将里面的两个文件复制到那个文件目录里面即可...转载 2019-06-03 18:35:06 · 1085 阅读 · 0 评论 -
C++各种变量内存分配
程序在的内存中的分配(常量,局部变量,全局变量,程序代码)一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4.另外还有一个专门放常量的地转载 2017-08-30 13:52:46 · 9823 阅读 · 1 评论