![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
Will的大食堂
关注公众号『Will的大食堂』,分享各种技术学习笔记和心得,品味技术人生,一个理想主义的精神食堂。主要涉及无线通信,射频,半导体,软件开发,数据分析等,后台回复"芝麻开门"进群一起交流学习。
展开
-
几个小数取整函数
在c++的cmath库中提供了几个小数取整的函数ceil() floor() round() trunc,我们可以根据不同的场景去选用它们。ceil函数:向上取整floor函数:向下取整round函数:四舍五入取整trunc函数:舍尾取整下面我们依次来看看这几个函数的特性。ceil函数ceil函数如下定义,函数返回不小于参数arg的最小整数,即向上取整。float ceil ( float arg );double ceil ( double arg );我们可以用下图来直观的描述原创 2021-07-10 10:16:59 · 1366 阅读 · 2 评论 -
一文掌握开源单元测试框架Google Test
我们在开发的过程中,需要做一些验证测试,来保证我们的代码是按照设计要求工作的,这就需要单元测试了。单元测试(Unit Test),我们称为“UT测试”。对于一个复杂的系统来说,需要编写大量的单元测试用例,有人会觉得这么多的测试代码,将会花费大量的时间,影响开发的进度,会得不偿失。真的是这样吗?其实,对于越是复杂的系统就越是需要单元测试来保证我们的代码的开发质量,及时测试出代码的问题,在开发阶段发现问题总比在系统发布之后发现问题能够较少的节省资源或成本。对于单元测试应该是每个开发工程师必备的技能,尤其是高阶原创 2020-11-14 10:32:22 · 578 阅读 · 0 评论 -
移位算法:面试和做项目必会
我们知道位运算中有循环左移和右移。原创 2020-09-28 21:36:53 · 794 阅读 · 0 评论 -
申请堆空间函数封装(两种方法)
对申请堆空间的函数封装,灵活的使用到指针。众所周知,指针是c语言的一大特色。C多用于底层开发,足以看出其指针的灵活性。下面我们将使用两张种方法,实现对申请堆空间的函数的封装。#include#define TYPE char#define SIZE 20//方法一、int app_room(TYPE **p,int size){ *p=(TYPE *)malloc(原创 2012-12-13 13:27:21 · 1040 阅读 · 0 评论 -
关于变量的各种运算自增(自减)总结:
我们以i++(i=3)为例子:我们知道i变量的值存在栈中(我们以局部变量为例),它占用4个字节的内存(32位机),自加就是将变量i这个内存的值加1再存入这个内存中。1.i++、++i运算之后,i的值都为4,但是表达式i++的值为3,++i的值为4;i++是先取i的值作为表达式的值,再自加;++i是先自加,此时i的值为4,再将i的值作为表达式的值。2.i++*i++此表达式的值为9;根据优先级,先i原创 2012-11-27 17:38:48 · 1119 阅读 · 0 评论 -
几个带双下划线的宏
__FILE__ 包含当前程序文件名的字符串__LINE__ 表示当前行号的整数__DATE__ 包含当前日期的字符串__STDC__如果编译器遵循ANSI C标准,它就是个非零值__TIME__ 包含当前时间的字符串例程:#include#includevoid fun();int main(){// fun(); printf("%s\n%s\n%s\n%d\原创 2013-02-19 23:10:35 · 533 阅读 · 0 评论 -
VC6.0 COM库制作
VC6制作跨平台COM组件原创 2014-12-25 00:48:46 · 799 阅读 · 0 评论 -
C++ 中通过函数名字的字符串调用函数
#include#include #include using namespace std;int add(int i,int j){ return i+j; }int sub(int i,int j){ return i-j; }typedef int (*FnPtr)(int,int);int main(){ map myMap; myMap["a原创 2015-11-09 22:30:45 · 3953 阅读 · 0 评论 -
cmake入门小例子
cmake是一款开源的跨平台的编译工具,也就是“cross platform make”的缩写。它通过cmake工具可以根据不同平台和不同编译器自动生成相应的Makefile,编译文件,链接库,安装文件,简化编译构建过程和编译过程。它是一款极为强大高效率的工具,能够管理大型的项目,比如KDE4。下文介绍如何利用cmake工具,编译hello world的一个程序。1、新建一个工程目录,在此...原创 2018-08-30 20:35:19 · 2456 阅读 · 2 评论