c/c++
Robben.Han
一个喜欢投资的程序猿
展开
-
eclipse开发stm32记录
目录(需要整套下载包的可以留言邮箱给我)安装eclipse + cdt安装GNU ARM Toolchain安装GNU eclipse ARM插件之前都是用mdk-keil来开发stm32的程序,很不幸,有个项目需要用到opcua通讯模块,而opcua这块的协议代码是ecilpse的,只好折腾下eclipse,先把opcua跑起来,再考虑下一步移植。(需要整套下载包的可以...原创 2019-11-27 11:57:51 · 459 阅读 · 0 评论 -
Linux下通过jsoncpp和socket解析和发送json数据的使用例程
目录1、json数据解析2、json数据生成3、json类型判断函数,判断key的类型函数1、json数据解析 Json::CharReaderBuilder rbuilder; Json::CharReader* reader = rbuilder.newCharReader(); Json::Value root; bool pa...原创 2019-11-19 16:01:29 · 1282 阅读 · 0 评论 -
使用visual stdio code开发Linux系统下的c/c++程序
首先说明,本文方法使用vscode作为编辑器,编译还是在Linux下进行,目前vscode或者vs等IDE开发Linux下的程序,都还不够成熟,只能编译相对简单的程序,部分复杂的功能无法使用,所以这里还是使用Linux系统本身去编译。其次,Linux下也有vscode的版本,但是个人感觉不好用,可能是软件的适配做的不好吧。环境:window10 +visual stdio code + ...原创 2019-11-05 14:14:51 · 848 阅读 · 0 评论 -
pc-com串口(DB9)管脚定义和单片机uart串口
1、pc的串口com口,也就是RS-232接口定义(DB9)引脚 定义 符号1载波检测 DCD(Data Carrier Detect)2 接收数据 RXD(Received Data)3 发送数据 TXD(Transmit Data)4 数据终端准备好 DTR(Data Terminal Ready)5 信号地 SG(Signal Ground)6 数据准...原创 2019-10-14 16:51:17 · 2720 阅读 · 0 评论 -
C语言标准格式输出函数printf中“%d,%o,%x,%u,%e,%f,%c,%s,%p”等的含义
目录1、标准格式化输出:格式字符有d,o,x,u,c,s,f,e,g等。2、输出指定长度3、scanf(控制字符,地址列表)1、标准格式化输出:格式字符有d,o,x,u,c,s,f,e,g等。格式说明:由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式输出总是由“%”字符开始的。不同类型的数据用不同的格式字符。%d有符号整型...原创 2019-04-22 18:31:59 · 21573 阅读 · 0 评论 -
keil-stm32报错:function call is not allowed in a constant expression
今天在调试一个stm32程序,将一个定长数组改为不定长数组的时候,编译报错:function call is not allowed in a constant expressionu8 usart1_recv = malloc(SRAMEX,USART!_REC_LEN);想了一下,原来是改行忘记放到函数里面,放到初始化函数中就OK了。...原创 2019-10-08 17:48:42 · 13195 阅读 · 3 评论 -
C++模板template用法总结
目录引言函数模板类模板模板专门化模板类型转换其他引言模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。函数模板在c++入门中,很多人会接触swap(int&, int&)这样的函数类似代码如下:vo...转载 2019-08-23 14:06:03 · 844 阅读 · 0 评论 -
C++中的.和::和:和->的区别
目录1、A.B A为对象或者结构体;2、A->B A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是命名空间、类、结构;4、:表示继承另一种是构造函数1、A.B A为对象或者结构体;此处,validationOptions是一...原创 2019-08-26 09:37:30 · 10410 阅读 · 0 评论 -
h头文件重复引用的问题
目录编译main文件,出现问题:headerbum重复定义链接o文件报错,出现问题fun重复定义//main.c#include "header.h"#include "mytest.h"void main(){ mytest(); fun();}//header.hint headerNum=0;void fun(){ p...原创 2019-08-19 10:27:29 · 1929 阅读 · 0 评论 -
define和typedef入门到精通示例
目录1、define1.1 入门1.2 进阶2、typedef2.1 入门2.2 进阶1、define1.1 入门#define DEBUGvoid main(){ printf("hello world!\n");#ifdef DEBUG printf("this is robben`s debug!\n");#endif}...原创 2019-08-08 11:49:08 · 541 阅读 · 0 评论 -
指针的指针访问二维数组例程
#include <stdio.h>int main(){ char array[2][3]={{1,12,23},{4,15,26}}; char **p=NULL; char *pa=NULL; pa = array; p = &pa; printf("%d,%d,%d\n",p[0][0],p[0][1],p[0][2]); printf("%d,%...原创 2019-07-26 12:01:00 · 958 阅读 · 0 评论 -
void和void*详解(补充完整版)
void关键字的使用规则:如果函数没有返回值,那么应声明为void类型; 如果函数无参数,那么应声明其参数为void; 如果函数的参数可以是任意类型指针,那么应声明其参数为void * ; 如果函数可以返回任意类型指针,那么应声明void* fun(); void不能代表一个真实的变量;void体现了一种抽象,这个世界上的变量都是“有类型”的###################...转载 2019-07-24 10:57:41 · 5632 阅读 · 5 评论