天泉证道

世事洞穿而寡言,名利看淡而重学

  • 博客(354)
  • 资源 (1)
  • 收藏
  • 关注

原创 debian10杀毒软件安装和使用

官网地址:https://wiki.ubuntu.org.cn/ClamAV1,安装sudo apt-get install clamavsudo apt-get clamav-daemon2,更新病毒库sudofreshclam3,扫描病毒到指定文件夹sudo clamscan -r / --move result 说明:-r / 扫描根目录--move result 把病毒文件移动到result文件夹下4,删除病毒文件sudo rm result/*.

2020-05-13 18:10:37 1154 1

原创 gdb和gdbserver工具的使用简介与交叉编译

一,介绍 嵌入式系统资源有限性,一般不能直目标系统上进行调试,所以很多情况下都是远程调试,就目前而言,嵌入式Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作: a,用ROM Monitor调试目标机程序; b,用KGDB调试系统内核; c,用gdbserver调试用户空间程序。 这三种调试方法的区别主要在于,目标机远程调试stub 的存在形式的不同,而其设计思路和实现方法则是大致相同的。而我们最常用的是调试应用程序,就...

2020-05-12 19:00:44 1083

转载 (json-c学习7) linux c语言释放json对象,防止内存泄漏

实际项目中发现Json-C用法不当导致的内存泄露、踩内存问题,大都是因为不清楚下面几个接口的用法。以下分析基于https://github.com/json-c/json-c( 0.12.1 release)。1. json_object_new_object生成的对象要不要释放int main(int argc, char **argv){ struct json_object* obj; mtrace(); obj = json_object_new_object();...

2020-05-09 16:54:03 3111

原创 debian10安装httpd服务器(命令行安装)

在终端执行guoyanzhang@debian:~/test$ sudo apt-get install httpd输出如下信息意思是选择一个安装那么我选择apache2来安装guoyanzhang@debian:~/test$ sudo apt-get install apache2guoyanzhang@debian:~/test$ sudo apt-get install apache2-dev查看安装是否成功sudo systemctl status ap

2020-05-09 11:30:26 4647

原创 (json-c学习6) linux c语言解析json对象和子对象的组合(纯代码)

头文件什么的都在上篇(json-c学习1) linux c语言解析json数组(纯代码),这里只写一个简单的函数:334 void ParsingBodyJsonFuncton(void)335 {336 //封装成如下形式的json内容:337 /*338 {339 "loop_number": 1,340 "sensor_address:1,341 "body":342 .

2020-05-09 10:28:37 502 1

原创 (json-c学习5) linux c语言封装json对象和子对象的组合(纯代码)

头文件什么的都在上篇(json-c学习1) linux c语言解析json数组(纯代码),这里只写一个简单的函数:287 void PkgBodyJsonFuncton(void)288 {289 //封装成如下形式的json内容:290 /*291 {292 "loop_number": 1,293 "sensor_address:1,294 "body":295 ..

2020-05-08 19:11:38 364

原创 (json-c学习4) linux c语言封装json对象和数组的组合(纯代码)

头文件什么的都在上篇(json-c学习1) linux c语言解析json数组(纯代码),这里只写一个简单的函数:238 void PkgBodyArrayFunction(void)239 {240 //封装成如下形式的json内容:241 /*242 {243 "loop_number": 1,244 "sensor_address:1,245 "body":246 .

2020-05-08 18:58:38 576

原创 (json-c学习3) linux c语言封装json单个对象(纯代码)

头文件什么的都在上篇(json-c学习1) linux c语言解析json数组(纯代码),这里只写一个简单的函数:210 void PkgJsonFunction(void)211 {212 //封装成如下形式的json内容:213 /*214 {215 "loop_number": 1,216 "sensor_address": 1217 }218 */219 .

2020-05-08 17:58:43 335

原创 (json-c学习2) linux c语言封装json数组(纯代码)

头文件什么的都在上篇(json-c学习1) linux c语言解析json数组(纯代码),这里只写一个简单的函数:170 void PkgArrayFunction(void)171 {172 //封装成如下形式的json内容:173 /*174 [175 {"loop_number": 1, "sensor_address":1},176 {"loop_number": 1, "sensor_address":1},177 .

2020-05-08 17:44:25 379

原创 (json-c学习1) linux c语言解析json数组(纯代码)

1 #include "json.h" 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 6 #define OR_GROUP "group" 7 #define LOOP_NUMBER "loop_number" 8 #define SENSOR...

2020-05-08 15:16:14 1827

转载 (sqlite3学习1)linux下C语言编程操作sqlite数据库(含交叉编译)

交叉编译sqlite3:#./configure CC=aarch64-linux-gnu-gcc#make将库拷贝到代码执行环境:====================================================以下是转载:linux下C语言编程操作数据库(sqlite3)置顶 zouleideboke 2017-06-23 17:25:1...

2020-04-28 14:41:47 600

转载 Linux C/C++获取程序运行时间

获取当前时间戳数据,程序中不同位置时间数据做差即可得到程序运行时间。1 实现基础:int gettimeofday(struct timeval *tv, struct timezone *tz);12 通过在Linux 命令窗:Man gettimeofday;gettimeofday()会把目前的时间用tv 结构体返回,当地时区的信息则放到tz所指的结构中。3 参数:...

2020-04-22 09:47:29 1279

原创 linux环境下编译c语言笔记

只是为了做笔记,自己学习,不为其它。因为是不断学习,所以将持续更新。=================================1,gcc编译的时候,用-l(小写)比如: gcc -ltest,其中test在/usr/local/lib/或者/usr/lib/下有test.so,即动态库,也就是说编译时用-l后面紧跟着的是动态库,编译链接时用到,执行时也要用到。...

2020-04-21 16:28:51 222

原创 在windows上修改python安装库国内源

只是为了自己方便,并无创新意思。1,资源管理器输入:%APPDATA%2,在里面新建一个pip的文件夹,里面添加一个pip.ini的文件,添加如下内容:[global]timeout=1000index-url=http://mirrors.aliyun.com/pypi/simple/[install]trusted-host=mirrors.aliyun.com还...

2020-04-19 14:20:50 919

原创 (mqtt学习4)交叉编译mqtt库paho(arm64位)

源码下载地址:https://github.com/eclipse/paho.mqtt.c资料说的cmake,我也没有用,因为我用的是华为的容器编译的,立马的东西都设定好了,我也懒得加了,但是那个里面是没有cmake的,所以我就用make了。1,修改makefile2,make编译3,make install安装,其实不用安装也可以,因为一般都是移植到其它地方用的,编译...

2020-03-30 18:35:28 1464

原创 (json-c学习10)交叉编译json-c库(arm64位)

下载地址:https://github.com/json-c/json-c1,下载,解压,不用多说;2,配置,这个地方就要注意了运行的是:json-c-master# ./configure CC=aarch64-linux-gnu-gcc就是修改了CC,不然默认是gcc,就不是交叉编译了。3,编译-make4,安装-make install注意,这里...

2020-03-30 18:21:33 1547

转载 python tkinter 窗口最大化

转载自:https://blog.csdn.net/asdf54sdf/article/details/50495942?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task最近学习python,刚好学到了gui(tkinter)相关的知识,顺便...

2020-03-25 17:32:02 1148

原创 linux可以ping通,但是ssh被拒绝

2台pc,一个网关,都连到公司网上。pc1:192.168.1.106 ----windows 10pc2:192.168.1.133 ----debian 10网关:192.168.1.108 ----- 华为grid-T1问题:问题描述: ssh: connect to host 192.168.1.108 port 22: connection re...

2020-03-25 13:52:19 3642

原创 debian10,ping www.baidu.com ping: www.baidu.com: Name or service not known(解决)

debian10,ping不通外网,root身份,改一下,resolv.cong就可以了。

2020-03-10 14:33:55 2036 2

原创 linux(debian10)安装pip3方法,并修改安装源为国内源

找了好几个方法都没有用,唯独这个简单,而且有效。转载自:https://www.cnblogs.com/yanxiatingyu/p/10160712.htmlubuntu 下安装pip3在使用任何apt 安装任何软件包之前,建议用以下命令更新软件sudo apt update更新好了后可能会出现apt list --upgradable安装pip3sudo ...

2019-11-17 18:01:04 9028 1

原创 关于FileNotFoundError: [Errno 2] No such file or directory: '/home/guoyz/.Xauthority'问题的解决方法

写了个python代码,一运行,出现如下错误:guoyz@debian:~$ python3 readtxt.py Traceback (most recent call last): File "/home/guoyz/.local/lib/python3.7/site-packages/Xlib/xauth.py", line 43, in __init__ raw = o...

2019-11-10 22:12:53 4003 1

原创 (mqtt学习5)关于python(windows)通过mqtt和c(linux)交互的方案

先写个大概,有空再补全细节。 1,需求 就是python在windows上写个界面,通过mqtt发给linux,linux计算一下再发给python,拓扑呈现。 2, 采用方法 就是将python上得到的数据先存储到表格中,发布的时候再去读取。3,采用模块 通过mqtt发布,自然要用到mqtt的那个模块。 设计界面的话,我这边用的是...

2019-10-24 22:23:46 490

原创 linux安装fcitx中文输入法,解决没有候选项的问题(debian10)

搜狗输入法用于wins系统,还是不错的,但是用于linux就真的想吐嘈,我还是用fcitx输入法比较好。鉴于之前我写过一篇文章,这里就不啰唆了,主要就是安装输入法界面和卸载一些没有用的输入法,最后一个卸载的是有可能导致中文输入法没有候选项。sudo apt-get install fcitx-frontend-gtk2sudo apt-get install fcitx-fronten...

2019-08-22 22:16:59 8654 2

原创 failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook

系统是:guoyz@debian:~/mosquitto-master$ lsb_release -aNo LSB modules are available.Distributor ID: DebianDescription: Debian GNU/Linux 9.9 (stretch)Release: 9.9Codename: stretch编译mqt...

2019-07-17 21:32:09 2008 1

转载 linux系统下模拟鼠标键盘(c语言版本)(比较全面的)

中美贸易站持续了这么久,某花公司受到的影响颇大,(因为某种原因,这里不能说),但深刻感受到,我们自己的OS无论如何也要研发出来,wins那套怕是一时半会学不来了,但是基于linux的话,我们照猫画虎会快一点。作为一个linux程序员,觉得现在发行版的OS,我觉得都挺好的,我们要想进步,也不能老用wins闭源那一套东西。linux系统上模拟鼠标键盘的方法很多,我这里收集一下,方便以后我用。...

2019-06-29 13:38:29 1160 1

原创 ip地址10.0.0.2/8,10.0.0.2/16,10.0.0.2/24,10.0.0.2/32的8,16,24,32的意思

10.1.0.2/8,说明它的子网掩码是255.0.0.0,10段的ip都可以ping通;10.1.0.2/16,说明它的子网掩码是255.255.0.0,10.1段的ip都可以ping通;10.1.0.2/24,说明它的子网掩码是255.255.255.0,10.1.0段的ip都可以ping通。10.1.0.2/32,这个说明它只能自己ping通自己。所以从上面的规律...

2019-04-23 22:55:35 11186 1

原创 ip地址(主机地址),网络地址,广播地址,子网掩码,子网个数,网关,DNS之间的关系

假设本机地址为192.168.1.133,在设置ip时,子网掩码也是跟随着一起设置的,假设本机ip子网掩码是255.255.255.0。1 2 3 4 5 6 7 8, 1 2 3 4 5 6 7 8, 1 2 3 4 5 6 7 8, 1 2 3 4 5 6 7 8192 168 1 133 255...

2019-04-23 22:46:34 1817

转载 makefile学习14:进阶部分

makefile基础学习前13小节就差不多了,如果想提升自己的makefile,可参考内核源码的makefile,结合下面的内容一起钻研学习。源码下载:https://www.kernel.org/即然make可以指定所有makefile中的目标,那么也包括“伪目标”,于是我们可以根据这种性质来让我们的makefile根据指定的不同的目标来完成不同的事。在Unix世界中,软件发布时,特别是...

2019-04-02 02:33:13 404

转载 makefile学习13:判断语句

使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。一、示例下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。libs_for_gcc = -lgnunormal_libs =foo: $(objects)ifeq ($(CC),gcc)$(CC) -o foo ...

2019-04-02 02:26:26 421

转载 makefile学习12:详细讲解变量

在 Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是 Makefile的其它部分中。变量的命名字可以包含字符、数字,下划线(可以是数字开头),但不应该含有“...

2019-04-02 02:23:54 470

转载 makefile学习11:自动生成依赖性

在Makefile中,我们的依赖关系可能会需要包含一系列的头文件,比如,如果我们的main.c中有一句“#include "defs.h"”,那么我们的依赖关系应该是:main.o : main.c defs.h但是,如果是一个比较大型的工程,你必需清楚哪些C文件包含了哪些头文件,并且,你在加入或删除头文件时,也需要小心地修改Makefile,这是一个很没有维护性的工作。为了避免这种繁重而...

2019-04-02 02:20:55 457

转载 makefile学习10:多个目标

Makefile 的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。当然,多个目标的生成规则的执行命令是同一个,这可能会可我们带来麻烦,不过好在我们的可以使用一个自动化变量“$@”(关于自动化变量,将在后面讲述),这个变量表示着目前规则中所有的目标的集合,这样说可能很抽象,还是看一个例子吧。bigoutput ...

2019-04-02 02:14:47 826

转载 makefile学习9:伪目标

最早先的一个例子中,我们提到过一个“clean”的目标,这是一个“伪目标”:clean:rm *.o temp正像我们前面例子中的“clean”一样,即然我们生成了许多文件编译文件,我们也应该提供一个清除它们的“目标”以备完整地重编译而用。(以“make clean”来使用该目标)因为,我们并不生成“clean”这个文件。“伪目标”并不是一个文件,只是一个标签,由于“伪目标”不是文件,...

2019-04-02 02:12:44 503

转载 makefile学习8:总结makefile的工作方式

进过前7小节的学习,对makefile的也有些许了解了,下面了解一下它的工作方式。GNU的make工作时的执行步骤入下:(想来其它的make也是类似)1、读入所有的Makefile。2、读入被include的其它Makefile。3、初始化文件中的变量。4、推导隐晦规则,并分析所有规则。5、为所有的目标文件创建依赖关系链。6、根据依赖关系,决定哪些目标要重新生成。7...

2019-04-02 02:05:09 415

原创 makefile学习7:echo的使用

类似于shell的echo的语句,echo可以在make执行时打印出自己预设的内容。这个是内核源码根目录的makefile内容,>&2这个是将错误输出到文件描述为2的文件,其实是标准错误。例子:gyz@debian:~/mc$ cat Makefile obj=test.o printarr.otest:$(obj) gcc -o test $(obj)$...

2019-04-02 02:00:02 20054

原创 makefile学习6:多个makefile的使用

编译过kernel的人都知道,在内核源代码下有很多makefile,编译的时候是一起用的。如下:可以看到其他makefile就像头文件一样,被包含进来,可以分条include进来,也可以一条include a.mk b.mk c.mk。。。这里多了一个-,表示读取个别文件失败,也继续执行。参考:http://www.cnblogs.com/liangxiaxu/archi...

2019-04-02 01:47:35 617

原创 makefile学习5:清除目标文件,注释

前面说过,.PHONY的意思是说clean是个伪命令。.PHONY:cleanclean: rm test $(obj)优化上面的代码:.PHONY:cleanclean: -rm test $(obj)就是在rm前添加一个-,它的意思是后面的文件有错也不予理睬,继续做后面的事。习惯上,大家都把clean写在makefile的后面。makefile里面使...

2019-04-01 20:10:13 908

原创 makefile学习4:再优化makefile

makefile有强大的自动推导功能,可以将用到相同.h文件的.o文件写到一起,再优化一下makefile。原来的makefile:gyz@debian:~/mc$ cat Makefile obj=test.o printarr.otest:$(obj) gcc -o test $(obj)test.o:std.hprintarr.o:std.h.PHONY:clean...

2019-04-01 16:47:07 474

原创 makefile学习3:隐晦规则,自动推导

makefile可根据.o文件来推导出编译需要(依赖)的.c文件。原来的makefile:gyz@debian:~/mc$ cat Makefile test:test.o printarr.o gcc -o test test.o printarr.otest.o:test.c std.h gcc -c test.c printarr.o:printarr.c std.h ...

2019-04-01 16:39:37 622

原创 makefile学习2:使用变量

源代码1:gyz@debian:~/mc$ cat test.c #include "std.h"int main(int argv,char **argc){ int arr[10] = {1,2,3,4,5,6,7,8,9,10}; PrintArray(10,arr); return 0;}源代码2:gyz@debian:~/mc$ cat print...

2019-04-01 16:29:18 393

Linux串口读写配置,包括232和485.txt

因为网上很多linux串口配置都没有用,结果让我饶了很大的弯,所以我这里记下来,让大家使用,防止大家和我一样走弯路。。配置都是测试过的,包括mark和space校验。

2020-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除