使用CMake生成sln项目和VS工程遇到的问题 用vs运行cmake后的工程 1、单个文件示例:1) 首先建立文件夹CMakeTest/Src2) 在文件夹Src中建立两个文件main.c和CMakeLists.txt3) main.c:#include <stdio.h>int main(){ pr...
C++之内部类(嵌套类)与外部类及友元 直接点,上代码: 1 class Outer 2 { 3 public: 4 Outer(){m_outerInt=0;} 5 private: 6 int m_outerInt; 7 public: 8 //内部类定义开始 9 ...
浅谈指针的比较 前言 有人说指针是C语言的灵魂,也有人说没学好指针就等于不会C语言。 虽然在现代C++中一般都是推荐尽量避免使用原生的raw指针,而是以smart pointer 和reference替代之。但是无论怎样,对于C/C++来说,指针始终是个绕不过去的坎。究其原因,是因为C/C++都是支持面...
闲来无事动脑筋 1、有1亿个浮点数,请找出其中对大的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。 可以发现如果一次读入那么机器的内存肯定是受不了的,因此我们只有想其他方法解决,解决方式为了高效还是得符合一定的该概率解决,结果并...
operator<< 一、重载流输出运算符<< 重载流输出运算符<<,比如cout<<a;原来的形式是 operator<<(cout,a); 由于<<需要用到两个类,一个是ostream类,cout就是他的对象,是负责输出的类;另一个是用户自定义类。...
C++ operator两种用法 C++,有时它的确是个耐玩的东东,就比如operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换)。 1、操作符重载 C++可以通过operator实现重载操作符,格式如下:类型T operator 操...
全局变量、静态全局变量和静态局部变量的链接性 全局变量、静态全局变量和静态局部变量都是静态持续变量,编译器分配固定的内存来存储它们。 全局变量是定义在代码块或函数外部的变量,它的作用域是全局;静态全局变量是用static修饰的全局变量,它的作用域是全局;静态局部变量是定义在代码块或函数内部的静态变量,它的作用域是代码块或函数内部。 i...
cmake基本命令 一、基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败 使用:cmake dir_path,生成工程文件或makefile文件 二、概念 ou...
浅尝Boost之Program_options 配置文件的实例 multiple_sources.cfg 此文件在 BOOST_ROOT\libs\program_options\example\目录下,内容如下: ## Comment out this line to use hard-coded default value o...
__declspec(dllexport)和__declspec(dllimport) __declspec(dllexport) __declspec(dllexport) 将一个函数声名为导出函数,就是说这个函数要被包含她的程序之外的程序调用。 extern "C" 指示编译器用C语言方法给函数命名。 ...
DLL函数介绍 关于DLL的函数: 动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function)。 导出函数可以被其它模块调用,内部函数在定义它们的DLL程序内部使用。 输出函数的方法有以下几种: 1、传统的方法 在模块定义...
函数传参:二维数组(续...) [原文开始] 可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如: void Func(int array[3][10]); void Func(int array[][10])...
函数传参:静态二维数组 1. C语言动态分配二维数组 (1)已知第二维 char(*a)[N];//指向数组的指针a=(char(*)[N])malloc(sizeof(char*)*m);printf("%d",sizeof(a));//4,指针printf("%d\...
函数传参:二维数组 提问: 声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:cannot convert parameter 1 from 'int [1][1]'...
C/C++上二维数组的两种动态分配内存方法 一、二维数据的内存空间动态分配 方法一: [cpp]view plaincopy voidmalloc2D_1(int**&a) { a=newint*[xDim]; for(inti=0;i<xDim...
(小记)cmake:六 学习 cmake 的单元测试部分 ctest。 简单使用 最简单的使用ctest的方法,就是在 CMakeLists.txt 添加命令: enable_testing() 该命令需要在源码的根目录文件内。 从这一刻起,就可以在工程中添加add_test命令了 add_t...
(小记)cmake:五 学习find_package的 config 模式及package configure文件相关知识 find_package 的 config 模式 当CMakeLists.txt中使用find_package命令时,首先启用的是 module 模式: 按照 CMAKE_MOD...
(小记)cmake:四 CMakeCache.txt 可以将其想象成一个配置文件(在Unix环境下,我们可以认为它等价于传递给configure的参数)。 CMakeLists.txt 中通过 set(... CACHE ...) 设置的变量 CMakeLists.txt 中的 option() 提供...
(小记)cmake:三 学习一下cmake的 finder。 finder是神马东西? 当编译一个需要使用第三方库的软件时,我们需要知道: 去哪儿找头文件 .h 对比GCC的-I参数 去哪儿找库文件 (.so/.dll/.lib/.dyli...
(小记)cmake:二 简单的语法 注释 # 我是注释 命令语法 COMMAND(参数1 参数2 ...) 字符串列表 A;B;C # 分号分割或空格分隔的值 变量(字符串或字符串列表) set(Foo a b c) 设置...