![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux系统编程
文章平均质量分 57
言xzZ義
爱孤岛新奇的东西,嵌入式,物联网都是最爱
展开
-
fedora系统上的一些操作
fedora 上的操作原创 2023-07-14 00:13:20 · 289 阅读 · 0 评论 -
linux编译参数CPPFLAGS、CFLAGS、LDFLAGS参数的理解
编译原创 2022-09-04 17:22:39 · 12751 阅读 · 0 评论 -
struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系
sockaddr 结构体转载 2022-08-25 00:07:43 · 133 阅读 · 0 评论 -
关于FTP的协议了解
完成对ftp的理解原创 2022-06-27 22:46:22 · 372 阅读 · 0 评论 -
linux系统下用vim+ctags+cscope查看源码
好久没有使用在linux下直接使用vim进行编程了,最近开始整理内核部分的东西,顺便吧之前使用的笔记和操作贴出来,自己在熟悉下操作。原创 2021-08-06 23:15:56 · 408 阅读 · 0 评论 -
linux基础之 busybox的源码了解
最近发现用到的很多功能都是busybox,或是kernel自带的一些功能。但没有认真去分析下,这里记录一些查到的资料。一、busybox的运行与调试我们能看到的所有功能程序,包括date,udhcpc...很多的这些进程他都是和最后连接到busybox的bin文件下。我们调试新编的busybox时,可以不用去直接替换文件系统里面的bin文件,可以直接使用 busybox date这样就可以在后台打印出我们直接输入date产看到的时间信息二、busybox的源码框架(如何去读源码)原创 2022-04-29 00:19:56 · 1553 阅读 · 0 评论 -
linux子系统的通信--通知链
在看到内核网络子系统部分时,涉及到了很多通用的应用部分,就比如此篇的 通知链机制。一、什么是通知链Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就必须使用一定的机制告知使用其服务的其他子系统,以便其他子系统采取相应的措施。为满足这样的需求,内核实现了事件通知链机制(notificationchain)。通知链只能用在各个子系统之间,而不能在内核和用户空间进行事件的通知。组成内核的核心系统代码均位于kernel目录下,通知链表位于kernel/notifier.c中,对应的头文件原创 2021-09-29 12:07:31 · 155 阅读 · 0 评论 -
linux下日志的记录方法
继续整理东西,看了一圈从最基础开始的日志部分开始整理了。记录自己的笔记。 linux嵌入式设备中一般使用的最多的技术用syslog的方式进行日志的记录了,虽然一直在使用,但是一直没有去了解下,具体是怎么个用法,这里像简单的记录下使用的方法。参与项目中也是用到这个,在查看一些包括:hisi的sdk、rk的sdk,都是在这上面封装了,先了解下基础的,还能够做成远程日志。另外还有考虑到busybox自带的syslogd的使用。 参考到博客: https://www.cnbl...原创 2021-07-26 23:14:04 · 1238 阅读 · 0 评论 -
linux的netlink机制
linux下从内核空间到用户空间的异步通信可以使用到netLink,像设备的路由等信息都是通过该机制实现。以下是一个netlink实例的链接:https://blog.csdn.net/qq_29214249/article/details/74909160原创 2021-08-19 23:46:51 · 695 阅读 · 0 评论 -
linux网络子系统sk_buff结构体
5-4 ---- 5-8 汇总完笔记原创 2022-05-04 15:39:40 · 195 阅读 · 0 评论 -
linux中ioctl与内核交换数据
有说到过使用netlink实现应用层与内核进行通信。ioctl也能够发送数据,是怎么实现的呢?本文简单的记录下。使用ioctl系统调用是用户空间向内核交换数据的常用方法之一,从ioctl这个名称上看,本意是针对I/O设备进行的控制操作,但实际并不限制是真正的I/O设备,可以是任何一个内核设备即可。只记得在最开始写字符设备驱动时,有用到过ioctl发通知到驱动中,通过定义的file_operations的ioctl的动作去实现动作,应该与此类似。在内核空间中ioctl是很多内核操作结.原创 2022-05-04 13:52:12 · 1388 阅读 · 0 评论 -
linux内核中的工具代码
平时用c多的话,或者看内核的代码,其实有很多会有用到类似链表之类的这些,完全可以当做标准工具代码使用的模块。所以当然是直接拿来用啦,而且还可以帮助看懂内核代码。这里记录汇总一些看到的别人的总结以及自己的总结的链接的导航栏。1.内核链表linux内核之链表结构分析_庾志辉的博客-CSDN博客linux内核之container_of()详解(即:list_entry()的详解)_庾志辉的博客-CSDN博客linux内核之链表操作解析_庾志辉的博客-CSDN博客2.内核hash链表hlis原创 2022-04-27 23:04:44 · 550 阅读 · 0 评论 -
linux编程杂记
linux系统编程中一些杂记。重新整理下参考到以下的博客:多线程和多进程的区别(小结)_猫已经找不回了的博客-CSDN博客_多线程和多进程一、进程与线程的区别1.多进程和多线程的区别,前者开销大,后者开销较小。确实,这就是最基本的区别。2.线程函数的可重入性:要确保函数线程安全,主要需要考虑的是线程之间的共享变量。属于同一进程的不同线程会共享进程内存空间中的全局区和堆,而私有的线程空间则主要包括栈和寄存器。因此,对于同一进程的不同线程来说,每个线程的局部变量都是私有的,而全局变量、局原创 2022-04-16 15:30:45 · 627 阅读 · 0 评论 -
一、ubuntu16.04 搭建SonarQube服务器和sonar-scanner
又来捣鼓新的东西了。代码质量的扫描,但感觉作用不是很大,这里就记录下参考到的有下面的博客:ubuntu20.04 搭建SonarQube服务器&&sonar-scanner 这个是一个系列的,但最后没有成功,我换了其他的版本SonarQube+cppcheck实现C++代码扫描_orgotF的博客-CSDN博客_sonarqube检查cSonar+cppCheck+cxxPlugin:实现C++检索_cxqiuWind的博客-CSDN博客linux Ubuntu 16..原创 2022-03-01 22:52:32 · 1336 阅读 · 0 评论 -
简单小结c语言读写ini配置文件
参考到博客:https://www.jianshu.com/p/6088c3c2488d简单实用的ini文件读取修改接口:/*ini.h*/#ifndef INI_H#define INI_H#include <stdio.h> #include <string.h>int GetIniKeyString(char *title,char *key...原创 2020-03-21 01:36:52 · 931 阅读 · 0 评论 -
编译hisi3518e在ubuntu平台
这里选用ubuntu 64bit 16.04的系统参考到:https://blog.csdn.net/qq_39436605/article/details/9008136https://blog.csdn.net/weixin_30363817/article/details/9526648目录1./bin/sh: 1: pushd: not found错误2.交叉编译配...原创 2020-01-30 02:32:33 · 460 阅读 · 0 评论 -
centos7在编译hisi3518e_sdk时遇到的问题
开发的环境选用的时centOS7.2的系统目录1.遇到的解压缩包时出现的问题2.环境变量的写入3.centos7 64bit安装32位兼容包4.uboot编译出错了,未能找到mkimage5.[mkyaffs2image100] Error 16.zlib库错误7.libncurses or libncursesw not found==============...原创 2020-01-29 23:28:06 · 600 阅读 · 0 评论 -
服务器配置了防火墙,开放部分端口
root@Mrtan bin]# firewall-cmd --zone=public --add-port=18083/tcp --permanentsuccess[root@Mrtan bin]# systemctl restart firewalld[root@Mrtan bin]# firewall-cmd --zone=public --add-port=3306/tcp --pe...原创 2019-12-21 00:29:28 · 330 阅读 · 0 评论 -
关于字库点阵读写
最近在实际的项目当中遇到需要进行汉字的显示在LCD屏上。工程本来带有相关的字库文件,但实际的使用中会出现一些生僻字,无法在字库中找到,导致乱码。最后提出解决方案:1.解决部分生僻字没有的问题,通过外加配置文件写入生僻字的点阵,加载到程序,显示2.一些为收录的生僻字,统一显示为一种特殊符号诸位标记3.加入异常处理,防止系统崩溃分别的解决方法:1,字库的问题,通过字模...原创 2019-11-10 11:13:37 · 218 阅读 · 0 评论 -
使用iconv编程进行字符集转换
使用iconv编程进行字符集转换摘自:https://www.cnblogs.com/lancidie/archive/2013/04/12/3016965.htmlLinux上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。一、利用iconv函数族进行编码转换iconv函数族的头文件...原创 2019-11-08 06:48:32 · 816 阅读 · 0 评论 -
关于多路IO写服务器和使用多线程、多进程写服务器的区别(简单理解)
那这篇博客主要是承接上面的poll select epoll的区别,上升到多线程、多进程和高级IO复用的区别了。https://blog.csdn.net/lailaiquququ11/article/details/83066593那我们还是从代码开始说起,先看看,简单的多线程和多进程的代码,然后在进行补充说明:使用多线程和多进程也能够实现多个客户端和服务器的数据收发的功能。那么...原创 2018-10-16 00:32:31 · 1556 阅读 · 0 评论 -
关于select、poll、epoll的区别与代码的对比
最近在面试的时候,经常被问到关于select,poll,epoll的区别和各自的优缺点。因为之前也只是都是用着,然后就用着epoll,没有去进行仔细的总结对比,所以答得并不好。又因为在网上搜索同样的问题,好像答得都比较模糊或者是超出了当时我的理解,总之是不能一下子醍醐灌顶。所以自己在这里根据自己的理解和查到的资料进行一个简单的总结,作为笔记。目录一、select的说明二、p...原创 2018-10-16 00:21:03 · 808 阅读 · 2 评论 -
Linux下jpeglib库的安装详解
使用环境为Redhat7:jpeglib库的安装详解首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz我这里提供的是jpegsrc.v6b.tar.gz,链接如下:链接:https://pan.baidu.com/s/1Kgb-BrciqQyYDudAFqGOqQ 密码:pc85 下载好对应的安装包后,我们就开始着手安装:...原创 2018-09-30 02:38:57 · 9069 阅读 · 1 评论 -
初步了解openssl安全协议
本博客开发环境使用的CentOS7 查看linux系统是否安装openssl:rpm -qa|grep -i openssl 查看安装版本号和路径:openssl version -aopenssl version -aOpenSSL 1.0.2k-fips 26 Jan 2017built on: reproducible build, date unspe...原创 2018-10-12 20:29:37 · 533 阅读 · 0 评论 -
Linux服务器ssh登录,查看登录日志
网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到root权限。有几个简单的防御措施:1. 修改ssh服务的默认端口。ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口。所以第一步就是修改这个默认端口打开/etc/ssh/sshd_config,找到Port 22然后将22修改为其它没有被占用的端口,如1022。最好在1-1024之间,防止与用户进程端口冲...原创 2018-10-29 18:06:02 · 70658 阅读 · 1 评论 -
linux下shell编程一些学习资料
最近有小伙伴,在做linux的运维安全管理一块,然后一起讨论。因为shell这块没怎么写过,基础语法也不太熟悉,总之是要实现几个需求的功能,要写成脚本。所以,想写些简单的,然后是有收集到一些,资料,感觉还不错 Shell从入门到精通.pdf 李振良感觉是还不错的,基本是语法和例子举得很详细链接:https://pan.baidu.com/s/1rUvEYJSQb07iOU86t...原创 2018-10-29 20:13:30 · 317 阅读 · 1 评论 -
docker一些说明及ubuntu下anaconda下配置tensorflow和Jupyter
目录1,镜像和容器的区别2,搭建自己环境的方法3,开始docker下的tensorflow的搭建一、装好anaconda3二、跟新anaconda和tensorflow的安装三、安装jupyter notebook四、主机和docker容器文件交换1,镜像和容器的区别http://dockone.io/article/783 区别和说明镜像和容器的操作的方法...原创 2018-12-12 16:27:07 · 1347 阅读 · 0 评论 -
linux挂载windows nfs盘的方法
由于双系统的电脑,最近操作arm板和办公频繁再centos和windos之间切换平凡,导致操作效率极低。在这里找到一个可以解决arm挂载在windos下的nfs网盘的方法。本文主要参考到:https://blog.csdn.net/qq_26614295/article/details/79206156提供了一个软件,可以让windos下提供nfs服务器的功能:下载链接:htt...原创 2019-09-08 01:25:29 · 1541 阅读 · 0 评论 -
linux系统操作显存基础知识了解
设备文件是在/dev/目录下设备文件有主设备号,次设备号.当操作设备文件, 系统会根据设备文件的设备号找到相应的设备驱动(驱动在内核注册时已指定使用的设备号),并调用相应的功能. open ---> sys ----> driver ---> drv_open read ---> sys ----> driver ---> drv_read ioctl -...原创 2018-07-05 10:20:37 · 1468 阅读 · 0 评论