
linux开发遇到的问题
芯想事程
嵌入式路程上的点点滴滴
展开
-
ubuntu虚拟机磁盘扩容
VMware虚拟机 Linux系统 Ubuntu 16.04 硬盘/磁盘扩容(超详细图文详解!亲测有效!) 置顶 zk_zack ...转载 2020-11-12 11:54:35 · 452 阅读 · 0 评论 -
对‘gettid’未定义的引用解决办法
在写程序时想通过gettid()函数获取线程id,但是编译时报错,undefined reference to gettid()原因:是因为gittid是linux实现的,外面无法调用解决办法:将gettid()函数里的实现在外面封装实现一下即可,代码如下//包含此头文件#include <sys/syscall.h> pid_t gettid(void){ return syscall(SYS_gettid);}然后再调用gettid()函数即可。...原创 2020-08-12 11:12:28 · 2438 阅读 · 0 评论 -
sqlite3使用记录
1、多线程下使用 rc = sqlite3_open_v2(DBFILENAME, &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_FULLMUTEX, NULL);2、多线程开启WAL模式:rc = sqlite3_exec(db, “PRAGMA journal_mode=WAL;”, callback, 0, &zErrMsg);3、WAL模式开启后db文件拷贝和覆盖都无法操作,因此若需要文件操作,则必须使用DELETE模式if(strcm原创 2020-07-23 10:00:27 · 235 阅读 · 0 评论 -
文件描述符检查
心得:软件开发代码发布之前要检查内存泄露情况以及文件描述符使用情况。通过ulimit -n设置最大文件描述符,通常为1024通过lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr查看进程打开的文件描述符数量#其中按进程统计句柄数 第一列是打开的句柄数,第二列是进程ID。...原创 2020-07-20 11:22:35 · 276 阅读 · 0 评论 -
xshell评估过期解决办法,非常简单
首先,你的xshell不要卸载,不需要动任何地方。进官网:https://www.netsarang.com/zh/,翻到最下面,下载那里点家庭/学校免费。然后会跳转到下面这个界面,按图中标注操作点击下载按钮:然后会有这段文字:打开邮箱,没什么问题的话过十几秒就能收到两封邮件:然后安装然后发现可以打开了,而且许可类型是家庭/学校:用这种方式有一个大好处就是你不需要卸载xsh...转载 2020-04-23 11:41:20 · 19458 阅读 · 6 评论 -
vmware虚拟机共享主机ip
当主机是使用的无线网时,虚机的无线网配置步骤分为三步:第一步:主机网络设置——将无线网络共享给VMware Network Adapter VMnet1或者VMware Network Ad...转载 2020-04-22 12:58:55 · 6111 阅读 · 0 评论 -
动态库加载失败测试
编译的c动态库,在java调用时出现加载库失败的情况,如何定位问题点?可以通过dlopen在c层测试是否能正确加载参考链接:https://www.jianshu.com/p/72cc08405a5a测试代码:#include <stdio.h>#include <stdlib.h>#include <dlfcn.h>const char *dl...原创 2020-04-17 09:38:33 · 358 阅读 · 0 评论 -
VMware虚拟机打开异常解决方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-11-15 17:46:54 · 3203 阅读 · 0 评论 -
arm-linux 开发板修改时区
开发板环境编译好之后,发现时间设置好之后,重启立刻就变了,正好是8个小时,应该是时区的问题。使用date查看时间是UTC时间而不是CST,解决办法:将ubuntu系统下面的/usr/share/zoneinfo/Asia/shanghai文件复制到开发板的/etc/目录下,并改名为localtime。在启动初始化文件/etc/init.d/rcS文件中添加一行,/sbin/hwclo...原创 2019-11-15 12:36:42 · 604 阅读 · 0 评论 -
linux设置时区
Linux系统时区设置</div> 开始设置时区时,参考网上的资料,使用tzselect 命令来进行,结果发现tzselect命令只是告诉了设置时区的方法,而并不是真的去修改/etc/sysconfig/clock这个文件。换句话说就是tzselect命令仅仅告诉我们通过设置TZ这个环境变量来选择的时区,然后将变量添加到.profile文件中。下面就简单介绍...转载 2019-11-15 12:25:36 · 188 阅读 · 0 评论 -
cmake使用二
参考链接cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。 二、常用命令1. 指定 cmake 的最小版本cmake_minimum_required(VERSION 3.4.1)这行命令是可选的,我们可以不写这句话,但在有些情况下,如果 CMakeLists.txt 文件中使用了...转载 2019-10-16 15:24:11 · 234 阅读 · 0 评论 -
cMake的使用
一、 基本使用安装:下载二进制包后可直接解压使用...原创 2019-10-16 14:55:23 · 353 阅读 · 0 评论 -
opessl的安装与配置(亲测有效)
1.下载源码并安装源码下载链接或者:https://www.openssl.org/source/1、将下载的压缩包放在根目录/。2、在文件夹下解压缩,执行如下命令:` tar -xzf openssl-1.1.0c.tar.gz `3、进入解压目录,执行如下命令:` cd openssl-1.1.0c`4、设定Openssl 安装路径,( --prefix )参数为欲安装之目...原创 2019-04-11 10:08:37 · 615 阅读 · 0 评论 -
树莓派安装paho-mqtt,出现错误的解决步骤
0.说明本篇主要是在树莓派上安装mqtt时出现错误,解决过程中错误依次依赖,导致安装过程非常繁琐,故写博客记录一下,蛀牙包括paho-mqtt 、openssl、doxygen、cmake 等安装1.下载paho-mqtt的源码:链接:https://pan.baidu.com/s/1ES24ZFfF59Pu_ZPY9IzQlw提取码:kigq官方源码:https://github.c...原创 2019-04-11 13:24:42 · 5710 阅读 · 1 评论 -
UNIX域套接字
在Linux系统中,有很多进程间通信方式,套接字(Socket)就是其中的一种。但传统的套接字的用法都是基于TCP/IP协议栈的,需要指定IP地址。如果不同主机上的两个进程进行通信,当然这样做没什么问题。但是,如果只需要在一台机器上的两个不同进程间通信,还要用到IP地址就有点大材小用了。其实很多人并不一定知道,对于套接字...转载 2019-04-19 10:38:02 · 193 阅读 · 0 评论 -
nohup的介绍和使用
Linux Shell nohup命令用法linux的nohup命令的用法。在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命...转载 2019-05-28 14:50:55 · 258 阅读 · 0 评论 -
paho-mqtt交叉编译
1、下载paho.mqtt.c工程源码# git clone https://github.com/eclipse/paho.mqtt.c.git2、创建编译目录1. # cd paho.mqtt.c2. # mkdir build_arm3、生成编译...转载 2019-06-06 12:10:53 · 3328 阅读 · 1 评论 -
交叉编译openssl和paho-mqtt
下载源码官网下载最OpenSSL V1.1.0交叉编译tar zxvf openssl-1.1.0g.tar.gzcd openssl-1.1.0g/./config no-asm shared --prefix=$PWD/install --cross-compile-prefix=arm-none-linux-gnueabi-参数解析:no-asm : Do not use...转载 2019-06-06 16:42:43 · 1069 阅读 · 0 评论 -
protobuf,protobuf-c的安装和交叉编译
一 、 protobuf 安装下载链接1. 确认安装依赖库:automake ,autoconf ,libtool2. 下载 protobuf 安装文件,protobuf-cpp-3.5.0.tar.gz ,解压,./configuremakemake checksudo make install【默认安装路径:/usr/local/】3. 安装完添加环境变量, vi...原创 2019-06-13 14:24:03 · 5401 阅读 · 0 评论 -
PGP密钥对生成和应用
一、安装方法[root@centos gnupg-2.1.4]# yum install gnupg二、检查安装是否成功[root@centos gnupg-2.1.4]# gpg --help如果屏幕显示GPG帮助,就表示安装成功。三、生成密钥对[root@centos gnupg-2.1.4]# gpg --gen-keygpg (GnuPG) 2.0.22; Copyrig...原创 2019-09-20 14:12:40 · 2774 阅读 · 0 评论 -
stat函数的使用和遇到的坑
stat函数的使用stat(const char *restrict path, struct stat *restrict buf)说明:其中path变量不能只是当前目录下的文件名,那样会出现未找到文件或者目录的错误,应该是文件的绝对路径,并将转化后的信息放到buf中。目前网上很多c实现都是写的读到的文件名。这里说明一下。其中linux下man手册里的也是用的文件名 (dp->d_...原创 2019-03-14 14:43:53 · 4805 阅读 · 0 评论