51CTO博客开发Kevin Fan
今天去面试,面试官出了一个关于memcpy的函数原型的实现的问题,本来这个问题是很简单的,但是不知道当时怎么脑子一抽竟然写错了,真是”累觉不爱”了.感觉这份工作算是泡汤了,算了事情发生了,错过了也就错过了.既然这样就把这件事情记录下来,给自己提个醒~ 这个问题对于接触过的朋友自然不难,问题在于给自己一个分析的方法,遇到类似的问题怎么解决. memcpy实现内存拷贝,根据这个问题,我们可以提取出下面
1.下面的代码输出什么?为什么? void foo(void) { unsigned int a = 6; int b = -20; (a+b > 6)?puts(“>6”):puts(“<=6”); } 答案:输出值”>6” 解析:a+b在这里做了隐式的转换,把int转化为unsigned int.编译器会把b当做一个很大的正数. 2.下面的代码有什么问
GTK+开发环境搭建“工欲善其事,必先利其器”首先介绍一下GTK+开发环境的搭建,网上很多所谓的GTK的开发环境的搭建基本都是抄来抄去,也不知道有没有人使用他们介绍的方法搭建并编译成功,很不幸的是我使用他们写的方法没有搭建成功,所以有必要再增加一个原创版本来介绍GTK+开发环境的搭建,这里介绍windows下两种环境搭建的方法,ubuntu的我就不说了,apt-get的功能真是太强大,直接sudo
这几天找工作,遇到一个挺好玩的笔试题,做完之后想了一个比较简单的实现方法。题目是:实现一个单链表的逆序操作,如原来是A->B->C,操作完之后是C->B->A/****************************************** * 文件名称:reverse.c * 文件描述:单链表逆序 请注意:没有添加链表释放的函数,
最近一直在找工作,前几天去H3C笔试了一把,题目出的还可以,偷偷记了点,我把答案和解析全都写出来了,希望对你有用.1、以下描述正确的有(AD)A、1个字节(byte)由8个比特(bit)组成B、signed char类型的取值范围是-127~128C、0xFFFFFFFF是4字节无符号数中最大的D、unsigned char类型的取值范围是0~255解析:signed char的取值范围是-128
没有什么特别的,只是自己感觉这两个小算法比较特别,让自己知道问题也可以这么考虑 /******************************************** * 文件名称:proc_sqlist.c * 文件描述:习题练习 * 文件作者:by Wang.J,in 2013.11.17 * 文件版本:1.0 * 修改记录: **********************
今天本来想写段代码练练手,想法挺好结果,栽了个大跟头,在这个错误上徘徊了4个小时才解决,现在分享出来,给大家提个醒,先贴上代码: /******************************************** * 文件名称:sqlist.h * 文件描述:线性表顺序存储演示 * 文件作者:by Wang.J,in 2013.11.16 * 文件版本:1.0 * 修改记
cgic程序的编写 今天使用cgic库编写了一些cgi的代码,结果在编译的时候出了很多错误,在这里分享出来算是给自己做个笔记,虽然都是小问题但是急需解决的时候还是很麻烦的. 代码结构: login_check.h文件声明 login_check.c定义 login.c使用login_check.h文件声明的函数 代码如下:简单描述一下,login.c中调用login_check.c实现
在switch中的case语句中声明变量编译的问题 先来看段代码,别管什么意思: case 10: int i = 0, j = 0; for (i = 0; i < 11; i++) recive_phone[i] = msgbuf.text[i]; recive_phone[i] = '\0'; printf("%s文件%s函数%d行:接收端号码:%s\n
关于自控力 推荐给大家一本好书《自控力》,《自控力》是斯坦福大学最受欢迎心理学课程。虽然这本书我还没有读完,但是已经给了我很多的帮助,在这里郑重的向大家推荐。 中国的老祖宗真是见识过人,一个“人”字很形象的表示了人应该要两条腿走路,还应该顶天立地。从上学开始自己一直都偏向理工,最终也是理工男毕业,走向了技术路线,一直走的技能为主的路线。但是慢慢的在现代这个很不可思议的生活环境中慢慢的感觉到疲惫
算是分享个小经验吧! 一直都是使用VM+PUTTY的方式调试Linux程序,有时候在Vi中编辑了程序,Windowns下旧习难改,顺手就Ctrl+s了,尽管我知道Vi的保存是:w. 很不幸这时的PUTTY就死在那了!这时候你可以使用Ctrl+q来解决这个问题.原理不多说了,会用就行. 技巧虽小,但是挺有用!
sqlite3里类似top的用法 在sqlserver中使用top是很正常的,类似这样的语句: SELECT TOP 10 * FROM [index] ORDER BY id DESC; 但是很不幸在sqlite中不支持top语句,但是sqlite中提供了类似功能的语句. SELECT * FROM [index] ORDER BY id DESC limit 0,10; OK!上面两
二维数组、行指针、指针数组、二级指针 看到这个标题是不是很头大,那么来看段简单的程序: /************************************* * 文件名称:pointer.c * 文件描述:测试二维数组,指针数组,行指针 与二级指针 * 文件作者:by Wang.J,in 2013.11.07 * 文件版本:1.0 * 修改记录:
sqlite3_exec函数的使用 sqlite3数据库是一个小型的关系型的数据库,以文件的方式存在,打开文件即是打开数据库,它小巧且功能强大,在嵌入式领域内使用很广.现在就介绍一下其中一个重要函数的使用: int sqlite3_exec(sqlite3 *db, const char *sql, sqlite3_callback callback, void *,char **errmsg
刚刚移植了sqlite3迫切想测试一些,结果将原来在ubuntu系统下写好且测试通过的程序,重新编译就报错,无法找到已定义的函数 这是由于没有使用库或者使用了错误的就、库造成的结果。 正确做法为: arm-none-linux-gnueabi-gcc –o database-test –L 你需要的库文件地址 –I 你需要的头文件的地址 xxx.c –lsqlite3 -L
基于s5pv210嵌入式linux系统sqlite3数据库移植1、下载源码http://www.sqlite.org/download.html最新源码为30801002、解压tar xvf XXXXX3、配置编译环境运行./configure –host=你的交叉编译工具的前缀 –prefix=你想编译安装的位置我的host为arm-none-linux-gnueabi,prefix为/home
基于s5pv210嵌入式系统busybox文件系统移植 1、下载源码 busybox.net/downloads下载最新版的busybox源码,最新源码为1.21.1 2、解压源码文件 tar xvf busybox-1.21.1.tar.bz2 3、进入busybox cd busybox-1.21.1 4、阅读README文件,查看编译步骤 重点阅读上面一段 5、配置
boa服务器安装 boa是一个轻量级的web服务器,单进程单任务模式,支持CGI,是嵌入式行业应用较广的一个轻量级服务器系统。 这是我准备往嵌入式开发板里移植的时候在ubuntu上做的实验。多少有点参考价值。 现在简要说一下移植的过程,详细的过程以后有时间会再仔细整理一下: 1、下载boa源码,www.boa.org上下载源码上面提供0.94.13和0.94.14两个版本这两个版本安装的时
三个月的学习结束了,接下来就是项目的时间,这段经历让我颇为难忘,不在于自己学到了多少东西,而在于知道了自己缺少什么东西!慢慢想来自己改行也有两年多了,这其中的滋味不足为外人道,多少次午夜突然醒来满身冷汗,仔细想来这是对未来的恐惧,到了今天,自己虽然还是像原来一样的菜,但是心态终于改正过来,我一无所畏的跳入了”码农”的队伍,虽然曾经迷茫,甚至是有些退缩,但今时今日我不再有任何的畏惧,现在所迷茫的仅仅
今天在写一个简单的内核测试模块的时候出现了一个挺奇怪的问题,网上查了一下也没人解决,自己试了好久终于解决了,所以分享出来供大家参考,先贴出源码:/********************************************** *文 件 名:hello.c *文件描述:给模块传参 *创 建 人:Wang.J,2013.10.26 *版 本 号:0.1 *修改记录: *****
代号意义1可执行程序和一般shell命令2系统调用函数3库函数4设备配置文件,通常在/dev下5配置文件,/ec下6游戏7协议及杂项8管理员命令9与内核相关
C语言,struct,类,封装
早晨习惯的打开网页,习惯的浏览着,忽然看到一篇程序员工作时心脏病发作死亡的报道,联系到前段时间程序员连续加班猝死的报道,什么时候程序员也变成一项高危职业了?我自己本身是从传统行业中转行过来的,其中的种种经历不足为外人道,相对于传统行业,IT产业的兴起也仅仅是最近20年的事情,正是我们的浮躁心态和不可持续的运作理念,我们终于成功的将IT产业带进了一条畸形的发展道路,塑造了今天的结果,我不知道这是不幸
const char *p和char const *p是一样的,都表示定义一个指向字符常量的指针,指针的内容(字符)不可变.char * const p表示一个指向字符的指针常量,字符可以改变,但是指针指向的地址不可变.
命令原型 find 搜索路径 选项-name filename 要搜索的文件名,可以使用通配符* ?等,但是使用这些通配符时需要使用双引号将文件名包裹.find –name “a*” 在当前目录下查找所有以a开头文件名的文件 find /home –name “a*” 在/home目录中查找文件名以a开头的文件 -print 输出查找到文件的路径(相对路径)find /home –name “a*
ifeq ($(KERNELRELEASE),) KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) TEST = test modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) clean: rm -rvf *.ko *.o *.mod.c Module* mod
代码中,我添加了很多注释,应该不难理解,有错误大家可以指出来,我再改正 #include <linux/kernel.h> #include <linux/module.h> #include <linux/slab.h> #include <linux/cdev.h> #include <linux/i2c.h> #include &
代码中,我添加了很多注释,应该不难理解,有错误大家可以指出来,我再改正 #include <linux/kernel.h> #include <linux/module.h> #include <linux/slab.h> #include <linux/cdev.h> #include <linux/i2c.h> #includ
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号