随笔分类 - [002] C/C++

1 2 3 4 5 ··· 9 下一页
C++的栈空间和堆空间
摘要:https://www.csdn.net/gather_2b/NtDaIg5sMTktYmxvZwO0O0OO0O0O.html 一直都把堆栈放一起,所以很多人会误以为他们的组合是一个词语,就像“衣服”一样简单,其实不然,今天在下就将最近学习总结的一些与大家分享。 一个由C/C++编译的程序占用的内 阅读全文
posted @ 2021-01-26 15:23 莫水千流 阅读(350) 评论(0) 推荐(0) 编辑
CMake 两种变量原理 ZZ
摘要:目录 [TOC] 1、两种变量的定义参考 2、两种变量的作用域原理及使用 1、Normal Variables (1)、包含 add_subdirectory()、function()。(本质是值拷贝) (2)、**包含 include()、macro() **(本质有点类似 c 中的 #inclu 阅读全文
posted @ 2020-09-13 07:16 莫水千流 阅读(183) 评论(0) 推荐(0) 编辑
cmake语法-函数和宏的定义
摘要:cmake语法不仅仅可以适用于 CMakeLists.txt,也适用于 xxx.cmake 文档。 在 OpenCV 的 CMakeLists.txt 中,很多 ocv_XXX() 的函数,都是定义在相应的 xxx.cmake 中。 比如:L116 1 2 3 4 5 6 7 8 9 10 incl 阅读全文
posted @ 2020-09-13 07:03 莫水千流 阅读(2549) 评论(4) 推荐(0) 编辑
cmake函数、宏和模块
摘要:cmake函数function和宏定义macro在某种程度上来说是一样的,都是创建一段有名字的代码稍后可以调用,还可以传参数。 他们的定义如下: macro定义: macro(<name> [arg1 [arg2 [arg3 ...]]]) ... endmacro([name]) function 阅读全文
posted @ 2020-09-13 07:01 莫水千流 阅读(2226) 评论(0) 推荐(0) 编辑
cmake函数、宏和模块
摘要:cmake函数function和宏定义macro在某种程度上来说是一样的,都是创建一段有名字的代码稍后可以调用,还可以传参数。 他们的定义如下: macro定义: macro(<name> [arg1 [arg2 [arg3 ...]]]) ... endmacro([name]) function 阅读全文
posted @ 2020-09-13 07:00 莫水千流 阅读(313) 评论(0) 推荐(0) 编辑
CMake 常用宏分享
摘要:CMake 常用宏分享 介绍 在本人多年的CMake使用过程中,有两个自定义宏被广泛且频繁使用。分别是: 1. GROUP_FILES 根据项目目录结构,分组显示c++文件,实现目录结构与项目结构的对应。 # MACRO GROUP_FILES MACRO(GROUP_FILES src_files 阅读全文
posted @ 2020-09-13 06:55 莫水千流 阅读(1400) 评论(0) 推荐(0) 编辑
设定cmake输出目录
摘要:对于我来说,我使用的是cmake 3.5,但below(set variable)不起作用: set( ARCHIVE_OUTPUT_DIRECTORY "/home/xy/cmake_practice/lib/" LIBRARY_OUTPUT_DIRECTORY "/home/xy/cmake_p 阅读全文
posted @ 2020-09-13 05:47 莫水千流 阅读(592) 评论(0) 推荐(0) 编辑
C++11新特性:参数绑定——std::bind
摘要:概述 std::bind函数定义在头文件functional中,是一个函数模板,它就像一个函数适配器,接受一个可调用对象(callable object),生成一个新的可调用对象来“适应”原对象的参数列表。一般而言,我们用它可以把一个原本接收N个参数的函数fn,通过绑定一些参数,返回一个接收M个(M 阅读全文
posted @ 2020-08-29 20:00 莫水千流 阅读(1412) 评论(0) 推荐(0) 编辑
std::bind1st和std::bind2nd
摘要:头文件:fuctional std::bind1st和std::bind2nd函数用于将一个二元算子转换成一元算子。 bind的意思是“绑定”,1st代表first,2nd代表second,它们的声明如下: //std::bind1st template <class Operation, clas 阅读全文
posted @ 2020-08-29 19:56 莫水千流 阅读(263) 评论(0) 推荐(0) 编辑
bind1nd,not1,compose1等用法
摘要:binder/not 1-允许为二元仿函数或判断式绑定一个值,从而将那个值固定下来。 2-可以绑定第一个或者第二个参数[二元仿函数会变成一元仿函数]。 比如: bind1st//通过绑定第一个参数,使二元的函数对象转化为一元的函数对象 bind2nd//通过绑定第二个参数,使二元的函数对象转化为一元 阅读全文
posted @ 2020-08-29 19:51 莫水千流 阅读(263) 评论(0) 推荐(0) 编辑
JSON文件内容加注释的几种方法
摘要:JSON规范,不支持注释。之所以不允许加注释,主要是防止:过多的注释,影响了文件本身的数据载体的目的。 有些文件,尤其是配置文件,加入解释说明一些数据项的含义,是有必要的。 1、使用JSON5规范 JSON5规范允许在JSON文件中加入注释:单行注释,多行注释均可。 2、直接用json-schema 阅读全文
posted @ 2020-08-23 18:15 莫水千流 阅读(17210) 评论(0) 推荐(0) 编辑
C语言--#、##、__VA_ARGS__ 和##__VA_ARGS__ 的使用
摘要:# 用来把参数转换成字符 #include <stdio.h> #define FUN(X) (printf("%s=%d\n",#X,X)) /* #用来把参数转换成字符 */ int test(int argc, char ** argv) { int a = 1; int b = 2; FUN 阅读全文
posted @ 2020-08-23 16:39 莫水千流 阅读(1032) 评论(0) 推荐(0) 编辑
hash 算法
摘要:inline size_t hashstring(const char* s){ unsigned long h = 0; for (; *s; ++s) { h = 5 * h + *s; } return (size_t)(h);} 阅读全文
posted @ 2020-08-19 13:39 莫水千流 阅读(58) 评论(0) 推荐(0) 编辑
字符串匹配算法综述
摘要:写的好棒!!!%%%粘来咯... 字符串匹配算法,是在实际工程中经常遇到的问题,也是各大公司笔试面试的常考题目。此算法通常输入为原字符串(string)和子串(pattern),要求返回子串在原字符串中首次出现的位置。比如原字符串为“ABCDEFG”,子串为“DEF”,则算法返回3。常见的算法包括: 阅读全文
posted @ 2020-08-19 09:14 莫水千流 阅读(327) 评论(0) 推荐(0) 编辑
C++ 中利用 _findfirst遍历所有文件夹及文件,以及findnext win10报错解决办法
摘要:C++中读取文件可以采用几个函数分别为,_findfirst、_findnext、_findclose。其中还要借助结构体 struct _finddata_t,_finddata_t主要用来存储各种文件的信息。 struct _finddata64i32_t { unsigned attrib; 阅读全文
posted @ 2020-08-19 09:04 莫水千流 阅读(607) 评论(1) 推荐(1) 编辑
C++ STL bind1st bind2nd bind 的使用
摘要:说明 bind1st() 和 bind2nd(),在 C++11 里已经 deprecated 了,建议使用新标准的 bind()。 下面先说明bind1st() 和 bind2nd()的用法,然后在说明bind()的用法。 头文件 #include <functional> 作用 bind1st( 阅读全文
posted @ 2020-08-19 06:47 莫水千流 阅读(818) 评论(0) 推荐(0) 编辑
C++如何获取当前路径下所有文件的文件名 ZZ
摘要:今天我遇到了这样一个任务:要求编写一个程序,统计和这个程序在同一目录下(及其子目录)所有文件的单词数。统计单词数十分倒不是太难,倒是找出同一目录下的所有文件,是我从来没有接触过的。仔细分析,这个问题其实包含两个小问题: 1. 如何获取当前程序所在文件夹的路径 2. 如何给定一个路径,递归地找到其中( 阅读全文
posted @ 2020-08-18 23:18 莫水千流 阅读(1599) 评论(0) 推荐(0) 编辑
利用C/C++编写程序以获取文件夹内所有子文件名,以下程序参考网络上诸多博文:
摘要:利用C/C++编写程序以获取文件夹内所有子文件名,以下程序参考网络上诸多博文: 头文件如下: #include <iostream> #include <stdlib.h> #include <stdio.h> #include <string.h> #ifdef linux #include <u 阅读全文
posted @ 2020-08-18 23:11 莫水千流 阅读(258) 评论(0) 推荐(0) 编辑
emplace
摘要:在C++开发过程中,我们经常会用STL的各种容器,比如vector,map,set等,这些容器极大的方便了我们的开发。在使用这些容器的过程中,我们会大量用到的操作就是插入操作,比如vector的push_back,map的insert,set的insert。这些插入操作会涉及到两次构造,首先是对象的 阅读全文
posted @ 2020-08-15 15:10 莫水千流 阅读(361) 评论(0) 推荐(0) 编辑
值得推荐的开源C/C++框架和库
摘要:值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简 阅读全文
posted @ 2020-04-17 14:01 莫水千流 阅读(1522) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 9 下一页