解决'GLIBC_2.14'not found
解决’GLIBC_2.14’ not found问题时遇到的坑先说一下网上大部分正常解决方式:最近用到c++11需要升级glibc库。
网上有很多解决’GLIBC_2.14’ not found问题的帖子。
无非就是如下的一些操作命令:
glibc下载 从http://www.gnu.org/software/libc/ 下载源代码。我下载的版本是2.14。 链接地址是:http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz。
安装 具体步骤如下: [root@localhost ~]# tar zxvf glibc-2.14.tar.gz -C /home/software/ [root@localhost ~]# cd /home/software/glibc-2.14 [root@localhost glibc-2.14]# mkdir /opt/build [root@localhost glibc-2.14]# cd build [root@localhost build]# ../configure --prefix=/opt/gl ...
ssh断开后python应用进程保持
python应用启动在ssh终端通过python python.py 启动时,是基于当前ssh进程启动的,当ssh终端断开连接后,python应用随即也会被kill。
如果想要在后台运行,可通过nohup启动。
如下:
nohup python3 /home/code/pyhttpserver/cmtpsvr.py >/home/code/pyhttpserver/cmtpsvr.log 2>&1 &
C标准库函数strtok使用心得
C标准库函数strtok使用心得strtok函数大家都知道strtok函数可以用来对字符串进行分割,大大满足了我们处理字符串时候的需求,不需要我们自己再去写一些分割函数。
自己在使用过程中也总结了两点需要注意的地方跟大家分享一下:
首先这个函数的原型char *strtok(char s[], const char *delim);
strtok()用来将字符串分割成一个个片段。
参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。
当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。
在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。
每次调用成功则返回指向被分割出片段的指针。
一般使用的代码是:
1234567char* temp1;char* temp2;temp1 = strtok(s, delim);if(temp1 != NULL){ temp2 = strtok(NULL,delim);}
当然如果有多个s中有多个delim分隔符 ...
4G设备通过自定义透传数据对接联通IoT
联通IoT自定义透传数据接入流程联通IoT ULink自定义透传数据接入流程联通平台支持自定义协议和ULink协议。产品开发流程见下图:
本文讨论的是用户通过自定义协议接入联通IoT平台实现自身业务平台。
一、创建产品
产品信息:产品名称,产品品类,型号,品牌。
节点类型:设备,网关,中继
产品信息和节点类型,根据自己的产品进行填写即可。
联网与数据:
联网方式:根据自己设备通信模组类型进行填写,这里我用的是测试模组是联通4G模块。
交互协议:根据设备模块支持的协议方式进行选择,这里我们选择MQTT。
数据格式:
ULink:联通平台定义的ULink数据格式协议,采用Json格式,设备严格按照文档定义的Json格式进行组装和解析。
自定义:非ULink数据格式协议,比如我们用到的16进制协议。
功能参数校验格式:定义校验的模式,是否进行严格校验等。
二、创建设备需要连接联通IoT平台的设备首先要在联通平台上创建设备。
所属产品:需要是创建过的产品
设备名称:根据需要自己定义
设备ID:设备的唯一标识,一般用设备的MAC地址或者IMEI号,序列号等。
根据以上描述 ...
linux下静态库动态库的编译及使用
linux下静态库动态库的编译及使用为什么要使用库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。
库的使用可以使程序模块化。
以C++为例子,库分为静态库和动态库,所谓的静态和动态指的是库链接的方式。
静态库(.a、.lib):顾名思义就是在程序的链接阶段被复制到了程序中,和程序运行的时候没有关系。在linux下以.a为后缀,在win下面以.lib为后缀。
动态库(.so、.dll):动态库就是在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。在linux下以.so为后缀,在win下面以.dll为后缀。
如何使用静态库以linux 下使用举例:
Linux通常把库文件存放在/usr/lib或/lib目录下。
静态库的创建和使用:
在一个头文件种声明静态库所导出的函数。
在一个源文件种实现静态库所导出的函数。
编译源文件,生成可执行代码。
将可执行代码所在的目标文件加入到某个静态库中,为了方便调用,不修改环境变量,可将静态库拷贝到系统默认的存放库文件的目录下。 ...


