随笔分类 - C++/C

cmake 编译时报__clock_nanosleep
摘要:可以在CMakeFileList找到类似下面语句 SET(CMAKE_xxxxxxxxx_DEBUG xxxxxxx -O0 -xxxxx -std=xxxx -lrt") 添加-lrt即可。 阅读全文
posted @ 2021-10-02 18:05 zhaogaojian 阅读(5) 评论(0) 推荐(0) 编辑
Linux c++ 试验-3 Sqlite3使用
摘要:1、代码如下 #include <iostream> #include <string> #include "sqlite3.h" using namespace std; //输出数据 static int callback(void *data, int args_num, char **arg 阅读全文
posted @ 2021-10-02 15:11 zhaogaojian 阅读(8) 评论(0) 推荐(0) 编辑
Linux c++ 试验-2 mosquitto.so库使用
摘要:1、代码 #include <stdio.h> #include <mosquitto.h> void my_message_callback(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *messag 阅读全文
posted @ 2021-10-01 23:19 zhaogaojian 阅读(6) 评论(0) 推荐(0) 编辑
Linux c++ 试验-1 条件变量(condition_variable)
摘要:1、示例 #include <iostream> // std::cout #include <thread> // std::thread #include <mutex> // std::mutex, std::unique_lock #include <condition_variable> 阅读全文
posted @ 2021-10-01 22:15 zhaogaojian 阅读(4) 评论(0) 推荐(0) 编辑
c几个标准库区别
摘要:最近裁剪docker镜像遇到 点兼容性问题,研究了几个c标准库的区别 1、.Glibc glibc = GNU C Library 是GNU项(GNU Project)目,所实现的 C语言标准库(C standard library)。 目前,常见的桌面和服务器中的GNU/Linux类的系统中,都是 阅读全文
posted @ 2021-08-17 11:33 zhaogaojian 阅读(38) 评论(0) 推荐(0) 编辑
函数参数传递数组
摘要:1、示例 #include<stdio.h> float average(float array[],int n) { int i; float aver, sum = 0; for ( i = 0; i < n; i++) sum = sum + array[i]; aver = sum / n; 阅读全文
posted @ 2021-08-06 19:31 zhaogaojian 阅读(23) 评论(0) 推荐(0) 编辑
c 'CRTSCTS' undeclared
摘要:将c99换成gnu99,比如 set(CMAKE_C_FLAGS “-std=c99”)改为set(CMAKE_C_FLAGS “-std=gnu99”) 阅读全文
posted @ 2021-08-05 17:19 zhaogaojian 阅读(17) 评论(0) 推荐(0) 编辑
c 数组指针使用
摘要:长时间不用c基础代码,导致有些基础语法忘记了,今天抽空写个小demo回顾下 #include <cstdio> #include "main.h" typedef struct { int a; int b; }obj; // void func(obj* pInfo) { int m = pInf 阅读全文
posted @ 2021-08-03 17:04 zhaogaojian 阅读(12) 评论(0) 推荐(0) 编辑
CLion Linux开发环境搭建
摘要:Clion是JetBrain的一款C/C++开发工具 1、安装Clion 2、添加ToolChains 然后点向上箭头,将Remote Host调为第一位,最终效果如下,不然编辑器会报很多错误提示。 如果需要安装CMake和GDB请先自行安装。 3、设置Deployment 然后再设置 点保存时候就 阅读全文
posted @ 2021-07-28 19:56 zhaogaojian 阅读(68) 评论(0) 推荐(0) 编辑
Linux 下运行程序找不到Lib库解决方法
摘要:1、例如 error while loading shared libraries: xxx: cannot open shared object file: No such file or directory 方法一: 1、将程序中的lib库copy到 /lib或者 /usr/local/lib目 阅读全文
posted @ 2021-07-28 17:41 zhaogaojian 阅读(109) 评论(0) 推荐(0) 编辑
CMake armhf下编译
摘要:目标环境:armhf 1、下载源码https://cmake.org/download/ 2、解压 3、打开CMakeLists.txt文件,增加一句 set(CMAKE_USE_OPENSSL OFF) 4、编译 ./bootstrap && make && make install 在友善之臂4 阅读全文
posted @ 2021-07-28 15:58 zhaogaojian 阅读(19) 评论(0) 推荐(0) 编辑
Source Insight解决回车缩进过多问题
摘要:Source Insight软件在编写代码时,回车换行缩进过多字符,解决办法 阅读全文
posted @ 2021-06-05 08:41 zhaogaojian 阅读(43) 评论(0) 推荐(0) 编辑
string.h,string,cstring的区别
摘要:<string.h>是旧的C 头文件,对应的是基于char*的字符串处理函数; <string>是包装了std 的C++头文件,对应的是新的string 类; <cstring>这里和MFC里的CString不是一个东西,而是string.h的std版本,这个文件本身没什么代码,主要代码结构如下 阅读全文
posted @ 2021-04-28 14:05 zhaogaojian 阅读(34) 评论(0) 推荐(0) 编辑
C基础-2 数组指针测试
摘要:void test1() { int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 }; int(*p)[4]; p = (int(*)[4])a; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) p 阅读全文
posted @ 2021-04-18 13:04 zhaogaojian 阅读(37) 评论(0) 推荐(0) 编辑
C基础-1 结构体定义指向自身的变量与指针
摘要:typedef struct tag_node { int p_item; tag_node *p_next; }my_struct; 正确 typedef struct tag_node { int p_item; tag_node next; }my_struct; 错误:结构体还没定义完之前, 阅读全文
posted @ 2021-04-15 21:58 zhaogaojian 阅读(66) 评论(0) 推荐(0) 编辑
Linux c 开发-17 pugixml xml_node Collection和一个数组的值比较示例
摘要:xml_node lastnode = rootNode.last_child(); if(lastnode == NULL) { newresult = TRUE; } else { newresult=true; while(lastnode!=NULL) { BOOL bSame=true; 阅读全文
posted @ 2021-04-02 23:24 zhaogaojian 阅读(37) 评论(0) 推荐(0) 编辑
Linux c 开发-16 不需要头文件也可以编译???
摘要:在项目中新建一个calc.cpp文件 #include<stdio.h> extern "C" { int calc(int a, int b) { return a + b; } } 新建一个main.c文件 int main() { int m = calc(1, 2); } 如果直接在vs等C 阅读全文
posted @ 2021-04-01 21:30 zhaogaojian 阅读(50) 评论(0) 推荐(0) 编辑
Linux c 开发-16 VsCode下使用CMakeFile编译项目
摘要:1、安装插件 2、Select a Kit,选择交叉编译链。 第一次需要填写项目名称、选择动态库或者可执行文件 会自动生成CMakeLists.txt 3 、在CMakeLists.txt下添加(按我的理解第2步选择后,这里就不需要再设置了,但是我这里还需再添加) set(CMAKE_C_COMPI 阅读全文
posted @ 2021-04-01 11:54 zhaogaojian 阅读(88) 评论(0) 推荐(0) 编辑
Linux c 开发-15 Ubuntu子系统中使用串口
摘要:Wsl2无法使用串口,open成功,但是set_opt一直通不过,没办法,最近暂时不使用docker,只能切换回Wsl1了 wsl -l -v wsl --set-version Ubuntu-20.04 1 #include<stdio.h> /*标准输入输出定义*/ #include<stdli 阅读全文
posted @ 2021-03-31 21:49 zhaogaojian 阅读(67) 评论(0) 推荐(0) 编辑
Linux c 开发-13 Makefile与VisualStudio Linux C环境对应关系
摘要:本文方法使用VisualStudio直接调试Linux系统可以的,又能编译又能调试arm linux没试验成功。交叉编译是可以的。 最终在arm linux下运行效果 1、这个页面编译使用的是一个远程调试计算机,因为目前这个远程调试计算机实际上是作为编译用的,但是实际上运行是另外一个机器,怎么设置没 阅读全文
posted @ 2021-03-28 23:20 zhaogaojian 阅读(33) 评论(0) 推荐(0) 编辑