- 博客(51)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
转载 c开源项目--转载
开源世界有许多优秀的开源项目,我选取其中十个最优秀的、最轻量级的C语言的项目,希望可以为C语言开发人员提供参考。1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起...
2019-07-02 09:32:00
244
转载 Linux中/proc/pid/status信息含义
转https://blog.youkuaiyun.com/ibless/article/details/85123386 图片因为我右键复制没成功,所以不建议查看我这个,直接点击这个链接比较好,我就是搬运下链接,假如后面自己需要看了可以找到。原文:https://blog.youkuaiyun.com/bugouyonggan/article/details/24349883其实在认真阅读了这篇名为“计算内存...
2019-05-22 11:58:42
2448
原创 PS更改图片的像素大小和格式
最近需要在Hi3521a上面叠加一个OSD,在网上利用在线工具生成了一个图片,但是像素大小和格式不符合要求,所以用PS修改了图片的部分属性。1:PS的文件,存储为可以修改文件的格式2:图像,图像大小可以修改图片的长和宽占用的像素点,而且这个是按照比例缩放的,不会导致图片失真,还是很好用的。...
2018-09-28 14:12:57
3702
原创 ctags添加include文件
很多时候我们的代码包含的include文件不在当前的目录下,如果使用ctags -R . 生成的tags文件就没法包含include的信息。遇到这种情况,可以使用ctags -R . include文件路径 来生成,这样就可以跳转到Include文件中了。比如ctags -R . /usr/include...
2018-08-17 18:09:35
981
转载 virturebox共享文件夹普通用户无权限访问
virtualbox的共享文件夹一般都挂载在/media下面,用ll查看会发现文件夹的所有者是root,所有组是vboxsf,所以文件管理去无法访问是正常的,解决方法是把你自己加入到vboxsf组里面。复制代码代码如下:sudo usermod -a -G vboxsf yourusernanme 转自 https://www.cnblogs.com/zhuguanhao/p/61927...
2018-08-08 10:59:05
775
原创 rtthread中对于栈越界检测的问题
今天创建了一个512字节的线程,然后线程中分配了8k的数组,我创建的时候char buf[8*1024]="1234",越界检测的时候,并没有检查出来。但是用memset清空数组或者通过for循环挨个赋值为0,上电后就会检测出栈越界了。 但是如果我诶个打印buf中每一个元素的值,居然也会报错了,所有说我感觉这中间肯定有什么隐藏的规则我不清楚,有可能时编译器的特性,也...
2018-07-10 19:24:50
2361
1
原创 C语言数组指针偏移量计算
#include <stdio.h>int main(){ int a[10]; int b = sizeof(int); unsigned int c = &a[0]; unsigned int d = &a[5]; int e = d - c; int f = e / b; int g = e /(sizeof(int));...
2018-06-13 19:42:54
2433
原创 ubuntu本地github怎么下载自己github账号中的代码
好久没有用github了,今天想到github中clone自己的工程,发现不能下载。报错大意是没有权限的意思吧。后来百度了下,大概需要两个步骤第一步创建本地的Github配置文件ssh-keygen -t rsa -C "username" username是登录的邮箱名字第二步是拷贝id_rsa.pub的内容到自己的github key中。接下来就可以了。...
2018-04-01 09:00:00
755
原创 cc2541 gpio通用gpio和adc的使用
今天需要对cc2541 gpio和adc做几个测试,就学习了下怎么使用gpio和adc1:ADC的使用参考链接:http://www.cnblogs.com/chenzhao207/p/4539197.htmlcc2541 p0口是adc口,读取代码如下APCFG |= 1 uint16 vddvalue = HalAdcRead(HAL_ADC_CHANNEL_0
2017-04-21 15:02:33
4763
转载 sourceinsight验证码
SourceInsight 3.x注册码:SI3US-205035-36448验证可用http://blog.youkuaiyun.com/yx2008302080/article/details/44647343
2017-03-18 10:04:18
985
原创 linux内核杂事记录
在内核中经常碰到一些出乎意料的东西,经常分析以后就过了,回头可能就忘了,所以以后碰到什么有趣的东西就记录下来。1:2.6.32内核中,看到有下面的内核代码,Makefile中也没有相关的.c文件的编译规则#include "composite.c"#include "usbstring.c"#include "config.c"#include "epautoconf.c"
2016-12-27 14:29:25
370
原创 sed学习
1:要在sed上执行多个命令时,只要用-e选项就可以了sed -e 's/brown/green/;s/dog/cat/' data1注意点:命令之间必须用分号分隔2:sed -f 选项来指定文件文件中存放的是命令格式,比如上面的例子可以写成文件[test@localhost sed]$ cat script s/brown/green/s/dog/cat/3:对每
2016-10-25 14:31:12
386
原创 打包备份linux整个系统
有时候工作中需要备份整个文件系统,为了确保linux系统打包过程中不会产生不必要的变化,特意记录下一个经过测试可以备份的方法1:挂载需要备份的磁盘2:进入挂载的目录,tar -cjpvf xxx.tar *3:如果要恢复,先格式化出一块分区,挂载到/mnt以后tar -xlpvf xxx.tar -C /mnt如果要快速地压缩,可以把参数v去掉,这是个打印压缩过程的参数
2016-10-14 16:19:35
4638
原创 linux命令行编译快捷键
命令行下快速移动一直都知道有,但是用的不多,看了总是忘所以记录下来,以后需要了可以快速查看CTRL-B 左移光标CTRL-F 右移光标CTRL-P 查看上一条历史CTRL-N查看下一条历史CTRL-A移动光标到行首CTRL-E移动光标到行尾CTRL-W删除前一个词CTRL-U删除从光标至行首的内容CTRL-K删除光标到行尾的内容CTRL-Y粘贴已删除的
2016-10-14 16:07:53
512
原创 二进制文件读取
今天看到一个命令,readelf,用来读取二进制文件的。虽然暂时还没有用到,但是他的功能貌似很有用,所以记录下防止以后需要用忘了以下是直接复制的,侵删readelf -v显示版本readelf -h显示帮助readelf -a test显示test的全部信息readelf -h test显示test的ELF Header的
2016-09-18 10:23:30
579
原创 smb通过文件管理器输入url链接出错
由于一个系统需要samba的服务,我看了下没有samba的相关的包于是就到其他系统上rpm -qa | grep samba看了下,发现有samba-client,samba,samba-winbind-clients,system-config-samba和samba-common这几个包于是安装了以后,发现一个很郁闷的问题,那就是通过文件浏览器中输入samba服务器的地址没法访问看
2016-09-08 16:36:12
5282
原创 scp 远程拷贝时软链接的处理方法
今天远处拷贝modules模块到另外一台机器上,本来只有三十几M的东西拷贝了5分钟还没有结束,感觉有点不对劲。到远处机器上du 一看,发现大小居然有了几个G。分析了下发现,原来是modules下的source软链接指向了我主机的内核源码,把内核源码也给拷贝了过去。仔细找了下资料,发现scp并没有什么参数可以避免这种情况的发生。但是找到另外一个rsync的命令,加上-l参数可以实现只拷贝软链
2016-08-30 11:13:33
20535
2
原创 用脚本下载pygtk官方example
#/usr/bin/bashwget http://pygtk.org/pygtk2tutorial/examples/ARRAY=($(cat index.html | awk '{print $5}' | grep href | sed -r 's/.*"(.+)".*/\1/' | sed '1,2d'))for i in ${ARRAY[*]}do wg
2016-07-26 18:52:41
558
原创 scp拷贝多个小文件
在一个延时比较高的网络环境下复制大量小文件会比将文件夹打包后传输需要长得多的时间. 每条协议信息以及传输结束后的确认信息的开销很大. 所以下一次, 你应该用类似下面的命令来传输大量小文件:tar cfv - testdir | ssh user@host 'cd /tmp; tar xfv -'
2016-07-20 10:13:19
6113
原创 gcc 内联函数
今天在一个高版本的gcc aarch64架构上面重新编译x86架构的一个软件包的时候,发现一个神奇的错误 即是对内联函数的调用未定义具体函数有点复杂,我写了一个简单的例子#include inline void print();inline void print(){ printf("ggggg\n");}int main(){
2016-07-15 15:02:42
781
1
原创 关于数组的新理解
今天看串口的初始化代码,发现了一个多维数组的问题,居然花了好长时间才看懂,只能说内核代码看起来太伤脑筋了啊先贴代码static struct plat_serial8250_port uart8250_data[][3] = { [MACH_LOONGSON_UNKNOWN] {}, [MACH_LEMOTE_FL2E]
2016-07-10 13:32:33
264
转载 module的一些资料
http://edoceo.com/howto/kernel-modulesLinux allows the Kernel to be configured at run time, to enable or disable different services as you see fit.This way you don't have to compile a monoli
2016-06-05 20:24:06
264
原创 3.3Linux内核的组成
总算有点感觉了,上一小章讲的完全不知道什么鬼啊这一小章讲的是linux内核源代码的目录结构arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips等。在arch目录下,存放了各个平台以及各个平台的芯片对linux内核进程调度,内存管理、中断等的支持,以及每个具体的Soc和电路板的板级支持代码block:块设备驱动
2016-05-28 16:44:19
437
原创 3.1 Linux内核的发展与演变
这一块感觉知道一点常识就可以了首先linux操作系统是一种类unix操作系统,作者是Linus Torvalds(至今不知道这个名字怎么读,linux 托瓦斯?)linux五大支柱1:unix操作系统2:Minix操作系统,也是unix的克隆系统,linux刚开始就是参照Minix系统的3:gnu计划开发出了许多高质量的免费软件,包括emacs 、bash shell、gc
2016-05-28 15:13:03
451
原创 2.2存储器
主要知识点1:存储器主要分类为ROM(只读),Flash(闪存),RAM(随机存取存储器)和光盘磁盘存储器2:ROM分为可编程和不可编程以及可擦除可编程,电可擦除可编程。代号分别为ROM、PROM、EPROM、EEPROM3:Flash闪存主要有NOR和NAND。NOR的特点是可以在芯片中执行程序而NAND不可以。NAND Flash以块设备进行访问。4:NAND 比NOR容量
2016-05-28 15:00:55
314
原创 perl(ExtUtils::Embed)依赖包
perl(ExtUtils::Embed) 被 ****需要 yum install perl-ExtUtils-Embed即可
2016-05-27 16:29:41
5746
原创 fedora 21 aarch64版本pxe安装内核报错问题解决
由于官方的安装内核在公司特定机器上安装不了,需要打补丁才可以加载,所以自己配置的内核和官方安装内核配置不一致导致安装系统过程中内核有报错信息1:device/mapper/contontrol:open failed no such device这些报错主要都是由于lvm那一块选项没有打开Prompt: Device mapper support
2016-05-26 14:32:29
1189
原创 2.1
2.1处理器1:通用处理器按体系可分为冯•诺依曼结构和哈佛结构冯•诺依曼结构指令存储器和数据存储器共用一个存储器,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。如下图 --------- -------------------------------. | 处
2016-05-25 11:26:39
267
原创 挂载fedora安装光盘小系统squashfs.img命令
mount -t -o loop -t squashfs squashfs.img /a/里面有一个root.img,通过file命令可以知道它是linux系统的文件系统类型可以直接用命令挂载挂载以后发现就是系统
2016-05-25 10:59:10
1059
原创 第一章
1.1设备驱动的作用设备驱动是硬件和应用软件的纽带,让硬件能够像应用软件要求的那样,完成特定的功能。1.2无操作系统时的设备驱动应用软件直接访问设备驱动的接口,但是要避免应用软件对硬件接口的直接访问,因为这样不利于后期的维护。用一个箭头表示下访问关系应用软件-》设备驱动(各种封装好的接口)-》硬件(串口,LED,Flash等)1.3有操作系统时的设备驱动由于一个复杂的操
2016-05-22 17:09:17
218
原创 写在最前面
人生是一步一个脚印走出来的,既不能急也不能躁。一旦急躁了,就会急于求成,而知识短期内又没法获得大量地积累,因而就会产生挫败感,然后就放弃了。中间的例子数不胜数。怎么克服这种心理呢?我想,坚持写博客或许能够让自己更好地让自己坚持下去,以前总觉得写博客太麻烦,太浪费自己的时间。但是这次,哪怕浪费再多的时间,我也要学到哪里,记录到哪里。
2016-05-22 16:10:33
271
原创 locate命令
刚刚在新系统上面用Locate命令发现居然没有上网查了下,locate是一个mlocate的包中提供的yum install mlocate安装好了后还是没法用`/var/lib/mlocate/mlocate.db': 没有那个文件或目录只要在终端执行下#updatedb就可以了
2016-05-18 15:38:48
486
原创 ubuntu16.04移动unity栏到桌面底部
看到一个命令,可以把ubuntu系统栏移动到底部gsettings set com.canonical.Unity.Launcher launcher-position Bottom没有16版本的ubuntu,先记下来,待验证唯一奇怪的是那个文章还说没法移动到上面和右边http://www.cnbeta.com/articles/494747.htm
2016-05-16 09:30:29
918
原创 一个奇怪的串口问题
新内核编译出来后,用minicom配置以后,发现加载内核时到一个disabled uart就没信息了。怀疑和内核配置有关系,找和uart有关的,都编译到内核发现,没什么用啊最后询问别人,告诉我Support for Synopsys DesignWare 8250 quirks 和Support for Hisilicon LPC to 8250 serial port不能同时选中,不然
2016-05-13 15:54:43
410
原创 linux修改默认时区
公司新做的系统时区一直是UTC的,所以让我想个好办法把时区改为CST的通过各种百度找到一种最好的方法就是修改/etc/localtime的软链接的指向ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime在调试的过程中还发现另外一个奇特的方法,就是tzselect命令虽然这个命令没法直接设置,但是可以在设置最后面给出方法,
2016-05-11 13:29:01
473
cp2102 usb串口驱动
2018-07-17
MQTT 3.1.1中英文协议
2018-03-25
pygtk2-tut
2016-07-17
linux光盘中加入自己的rpm,重新制作成iso后,虚拟机启动少了几个rpm包
2015-11-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人