- 博客(12)
- 收藏
- 关注
原创 面试题 的思考
package main import "fmt" const s = "hellow world" var a byte = 1 << len(s) / 128 var b byte = 1 << len(s[:]) / 128 func main() { fmt.Println(a, b)
2022-02-23 20:38:51
270
原创 git项目代码使用小技巧
1. git查看项目提交记录 (1). 使用git log, 界面不友好 (2). 使用tig命令,推荐 2. 查看某个文件中的修改记录 运行git blame可看到每一行的修改的简短commit id; 运行git show +commit id 查看具体提交全局commit id和修改内容 3. 导出、导入提交记录的patch文件 (1)导出:git format-patch -n -1 (...
2019-07-11 16:58:50
315
1
原创 lighttpd源码分析-分析背景-模型介绍
分析背景 最近需要在嵌入式设备路由器上运行lighttpd,主要需要使用它的proxy代理功能,实现http流量代理到自己服务器上。 并且由于配置一个域名的代理配置文件如下: $HTTP["host"] == "www.baidu.com" { proxy.forwarded = ( ...
2019-07-11 16:01:18
1020
原创 c语言程序的存储结构
Linux内存映像 地址范围 存储位置 0xC0000000-0xFFFFFFFF (3~4GB) 内核虚拟存储器(内核空间) 0x00000000-0xC0000000 (0~3GB) 程序三大段 (用户空间) 程序三大段 段 类别 中文 作用 data Stack 栈(向上增长) 存放函数形参和局部变量(auto类型),由编译器自动分配和释放 da...
2019-07-11 12:01:19
2977
原创 各类编程语言中static关键字的用法
最近在各种语言之间来回编程,容易产生混乱,这里特意整理下: 一. c语言(面向过程) 在c语言中static 可以修饰变量跟函数,并且修饰后,只在本文件中可见,别的文件中可以使用同名变量或函数。因此添加static 有利于团队协作中出现命名相同编译识别的情况。 1. 修饰变量 在介绍修饰变量作用之前,读者应该要对c程序存储结构有一定的认知。 (1) 存储方式: 类别 局部变量存储位置 全局...
2019-07-10 19:02:37
6163
原创 修复ubuntu grub错误进不了系统的问题
出错原因 最近想把我的ubutu12系统改为文本模式。 修改为如下之后,执行update-grup,然后重启系统进不了系统,只能进入grup。 –>经过确认,去掉注释那行就不会出现引导错误了。 修复grub方法 grub >set root=hd0,msdos8 //参数根据自己的系统boot盘进行选择 grub >set prefix=(hd0,msdos8)/boot/...
2019-07-01 16:41:58
3326
原创 解决composer install 卡住的问题
执行 phpcomposer.phar install 提示 Loading composer repositories with package information 1. 根本原因: 下载源在国外,无法正常下载。 2. 更改为国内下载站,执行如下命令: php composer.phar config repo.packagist composer https://pac...
2019-03-15 15:00:49
16629
2
原创 Linux中的nslookup 实现源码
下面为 nslookup 实现源码,已被我改造为之返回第一个IP。 dns server固定指定为 223.5.5.5 114.114.114.114 119.29.29.29 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/socket.h> ...
2019-03-04 23:57:09
2549
7
原创 阿里云-物联网IoT对接过程
1. 使用背景 最近公司需要开发小程序端外网控制路由器底层运行。 考虑到需要快速上线,还有安全性、稳定性。最终放弃自建mqtt服务器,决定采用阿里云的物联网方案。 2.阿里云的对接过程 (1)由于路由器端只能用c sdk进行编译执行。 接入端采用 c sdk。 阿里的c sdk是用cmake方式进行编译的,我把它改为了make 方式进行编译,方便交叉编译。并且已经把多线程、rrpc、普通方式的订阅...
2019-03-04 23:34:00
4674
2
原创 关于微信小程序中es6-promise的应用
关于JavaScript中es6-promise的应用应用promise背景es6与Promise的关系了解主流浏览器对promise的兼容下面记录一些自己对promise的理解 应用promise背景 由于我们公司需要开发微信小程序,并且小程序API大部分都是异步的API,不采用promise的话,将会出现代码一个嵌套一个的情况。如下所示: A(){ B(){ C(){ } } } ...
2019-02-21 12:22:57
4586
5
原创 驱动篇-认识hello word 的内核文件创建过程(一)
今天闲着没事整理一下内核.ko文件的创建过程,算是一个入门级教程吧。环境:ubuntu。编译工具gcc 1.首先创建一个hello.c的文件,内容如下: #include <linux/init.h> #include <linux/module.h> static int hello_init(void) { ...
2017-03-02 11:03:15
575
原创 驱动篇-字符驱动入门(解决cat echo 字符设备乱码的问题)(一)
闲来无事,整理一下驱动入门知识! 大部分与网上整理的差不多,我主要想说的有两个特别的地方,刚入门的人看别人整理的肯定都不知道怎么测试。或者测试结果不像他们所写的那样! 第一点就是用mknod创建的设备名,设备号不能随便写,必须你所写的源文件命名的一致。 比如你在c文件中定义#define DEV_NAME "chardev"那么设备名就是chardev 设备号可以通过 cat /proc/d
2017-03-02 11:02:05
3368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅