Linux
文章平均质量分 57
XiAoma123_1
这个作者很懒,什么都没留下…
展开
-
C++编译过程中析构函数只声明未实现报错
/usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function具体分析参见如下文章:undefined reference to 'vtable for std::length_error' 问题解决_Blog of Chauncy Wang-CSDN博客原创 2021-11-24 14:58:42 · 1555 阅读 · 0 评论 -
unix内核消息队列的实现(C),另附信号量和共享内存
send.c: #include <stdio.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <string.h> typedef struct msgbuf{ //函数要求用户自定义一个结构体 long mtype; char mtext[128];//默认12...原创 2021-06-23 11:54:50 · 219 阅读 · 0 评论 -
GPSD创建
#include <stdlib.h>#include <fcntl.h>#include <stdio.h>#include <pthread.h>#include <string.h>#include <errno.h>#include <sys/stat.h>#include "qxwz_ids_log.h"#include "qxwz_gpsd_adpt.h"static pthread_mute原创 2021-05-08 14:06:21 · 249 阅读 · 0 评论 -
QNX系统使用总结
一、QNX系统编译文件时,不区分大小写。项目中,存在qxwz_AES.c和qxwz_aes.c这两个文件,编译过程中发现一直没有编译出qxwz_AES.o。分析发现,QNX编译器不区分文件名大小写。修改名字之后,如下图。二、编译时对于库的加载Pthread的加载使用-pthread 而不是-lpthread, libcrypt.so库在QNX中使用libcrypto.so。...原创 2020-08-10 20:26:12 · 1031 阅读 · 0 评论 -
Syntax error: redirection unexpected
在安装Android NKD后执行make-standalone-toolchain.sh时出现错误“make-standalone-toolchain.sh: 701: ./make-standalone-toolchain.sh: Syntax error: redirection unexpected”,同时执行时出现警告“WARNING: The shell running this sc...原创 2020-01-07 14:43:25 · 1807 阅读 · 0 评论 -
C stl
http://www.cplusplus.com/reference/vector/vector/emplace_back/原创 2019-06-06 17:02:56 · 440 阅读 · 0 评论 -
Linux内核的内存管理
1.什么情况下有内存碎片2.段式管理和页式管理的区别 ,当内核分配大内存和小内存的区别3.https://www.cnblogs.com/vamei/p/9329278.htmlhttps://www.cnblogs.com/ralap7/p/9184773.htmlhttps://blog.csdn.net/h674174380/article/details/7545...原创 2019-06-02 19:48:25 · 354 阅读 · 0 评论 -
进程间通信的几种方式
原创 2019-06-19 18:12:28 · 148 阅读 · 0 评论 -
判断CPU大小端模式
第一种方法,通过判断ENDIANNESS的值是'l' 还是 'b'1 static union2 {3 char c[4];4 unsigned long l;5 }endian_test = { {'l','?','?','b'} };6 7 #define ENDIANNESS ( (char)endian_test.l )第二种方法static int...原创 2019-06-11 16:21:52 · 258 阅读 · 0 评论 -
嵌入式Linux开发知识点
1.阻塞和非阻塞的区别阻塞的定义:对于read,block指当串口输入缓冲区没有数据的时候,read函数将会阻塞在这里,移植到串口输入缓冲区中有数据可读取,read读到了需要的字节数之后,返回值为读到的字节数;对于write,block指当串口输出缓冲区满,或剩下的空间小于将要写入的字节数,则write将阻塞,一直到串口输出缓冲区中剩下的空间大于等于将要写入的字节数,执行...原创 2019-08-23 18:08:10 · 277 阅读 · 0 评论 -
进程间通信几种方式
来源:https://blog.csdn.net/wh_sjc/article/details/70283843进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进...转载 2019-05-28 17:21:55 · 255 阅读 · 0 评论 -
STL排序
https://www.cnblogs.com/fengcc/p/5256337.html转载 2019-05-22 19:28:29 · 245 阅读 · 0 评论 -
函数返回的几种情况
转载地址:https://www.cnblogs.com/edwardcmh/archive/2012/03/20/2408359.html1. 返回局部变量的值可以有两种情况:返回局部自动变量和局部静态变量,比如,int func(){ int temp = 0; // 返回局部自动变量的值 return temp;}局部变量temp存储在栈中,函数返回时会自动复制一转载 2017-11-24 11:15:45 · 467 阅读 · 0 评论 -
多线程中锁的使用
线程之间的锁有:互斥锁、条件锁、自旋锁、读写锁、递归锁。一般而言,锁的功能越强大,性能就会越低。1、互斥锁互斥锁用于控制多个线程对他们之间共享资源互斥访问的一个信号量。也就是说是为了避免多个线程在某一时刻同时操作一个共享资源。例如线程池中的有多个空闲线程和一个任务队列。任何是一个线程都要使用互斥锁互斥访问任务队列,以避免多个线程同时访问任务队列以发生错乱。在某一时刻,只有一转载 2017-11-27 15:49:33 · 805 阅读 · 0 评论 -
gdb调试(1):单步执行和跟踪函数调用
转发自:http://songjinshan.com/akabook/zh/gdb.html#id1看下面的程序: 1 2 3 4 5 6 7 8 9101112131415161718#include <stdio.h>int add_range(int low, int high){ int i, sum; f...转载 2018-06-08 11:20:18 · 7343 阅读 · 0 评论 -
gdb调试(2):断点
转发自:http://songjinshan.com/akabook/zh/gdb.html#id1看以下程序: 1 2 3 4 5 6 7 8 9101112131415#include <stdio.h>int main(void){ int sum = 0, i = 0; char input[5]; ...转载 2018-06-08 11:22:02 · 699 阅读 · 0 评论 -
gdb调试(3):观察点和程序崩溃
转发自:http://songjinshan.com/akabook/zh/gdb.html#id1继续修改上一节的程序。经过调试我们得出结论,对于这个程序来说, sum 赋不赋初值不重要,重要的是在 while (1) 循环体的开头加上 sum =0; ,这才能保证每次循环从0开始累加。我们把程序改成这样: 1 2 3 4 5 6 7 8 9101112131415...转载 2018-06-08 11:25:00 · 2690 阅读 · 0 评论 -
shell中$ % # . /等的组合和特殊用法含义
假设我们定义了一个变量为:file=/dir1/dir2/my.file.txt可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/my.file.txt${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt${file#*.}:删掉第一个 . 及其左边的字符串:file.txt${file##*.}:删掉...原创 2018-06-29 10:38:37 · 1903 阅读 · 0 评论 -
Makefile
gcc -o edit edit.c此条命令的含义,gcc edit.c //生成a.out这个执行文件gcc edit.c -o edit //生成edit这个执行文件文件名不同而已.gcc edit.c -o edit //生成edit这个执行文件文件名不同而已.edit.c是用来生成目标文件的源文件OBJ_COMM = $(SRC_COMM:.cpp=.o) 的...原创 2018-06-27 10:54:18 · 264 阅读 · 0 评论 -
Linux命令:ifconfig
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改...转载 2018-06-28 12:52:36 · 275 阅读 · 0 评论 -
tar命令中-C的作用
tar zxvf test.tar.gz -C testtar -C / -xf ${tarfile}注释:上面的命令将 test.tar.gz 这个压缩包解压到当前目录下的 test 目录下。或者第二个命令是放到根目录下 -C 选项的作用是:指定需要解压到的目录。...原创 2018-06-28 13:40:02 · 9425 阅读 · 0 评论 -
Makefile 中:= ?= += =的区别
关于Makefile中= := ?= +=这几个赋值运算符,简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endififeq ($(OPT),add) VRE += “Kelly!”endifi...转载 2018-07-05 13:03:41 · 170 阅读 · 0 评论 -
C/C++面试常见问题总结
这里是面试过程常见的问题原创 2017-11-18 13:58:42 · 715 阅读 · 0 评论