C语言
默默努力的小熊
linux kernel存储技术
展开
-
一道C语言题
结果是死循环,想想看究竟发生了什么?#include "stdio.h" int *p = NULL; int *fFun(void){ int i = 0; return &i;} void subFun(void){ (*p)--;} void gFun(void){ int j; for(j = 0;j { subF转载 2006-04-20 20:19:00 · 3443 阅读 · 0 评论 -
dup, dup2一图胜千言
一图胜千言啊,看了必须懂啊^_^下面这一段原文:http://os.chinaunix.net/a2009/0602/1049/000001049422_7.shtml 在C语言里,操纵文件的渠道则是FILE结构,不难想象,C语言中的FILE结构必定和fd有一对一的关系,每个FILE结构都会记录自己唯一对应的fd。 FILE、fd、打开文件表和打原创 2013-04-23 10:23:45 · 3057 阅读 · 0 评论 -
linux 将标准输出重定向到本地缓存的实现
由于功能需要,编写了一个将标准输入保存到本地缓存再进行解析的功能:int libcli_execute_and_get_output(const char *cmdline, char *buf, size_t size){ int pipefd[2]; if (pipe(pipefd) == -1) { perror("pipe");原创 2013-04-11 14:55:16 · 2663 阅读 · 1 评论 -
linux 下调试动态库的问题
之前都没有调试过,直接在动态库函数中断点,都未能跟踪进入。找了一下问题,保证以下三个条件即可:1、所有文件编译时带-g 在生成so文件时带-g不行,记得在变量CFLAGS中加-g2、在拷贝so文件时改变属性时要注意 因为之前make install时默认调用的是 install -s ,把符号表去掉了。为了保存这点,可以在要链接的so文件上执行一下:nm xxx.原创 2013-04-10 11:26:48 · 1623 阅读 · 1 评论 -
Cisco的一道笔试题
不用循环,如何判断一个数是2的幂?(C语言)用递归吧?嘻嘻。 嗯,不过有人有一个聪明的方法,所以我才在这里记下来~~~~~~ 判断n与n-1按位与的结果,如果是0,则n为2的幂。 附 nkmxb师兄的一道题:不许进行移位操作,如何判断一个整数(二进制表示)中有多少位是1?int i = 0;unsigned int n = ...;while(n){转载 2006-05-04 16:02:00 · 1446 阅读 · 0 评论 -
Intel笔试面试题目
硬件巨头Intel笔试面试题目转载 2006-05-04 10:56:00 · 2524 阅读 · 0 评论 -
C++/C程序员面试的一份试题(附标答)
本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。笔试时间90分钟。请考生认真答题,切勿轻视。一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0转载 2006-05-04 11:25:00 · 4666 阅读 · 0 评论 -
别人的面试题
1、问题:证明哥德巴赫猜想!即从6到n的任意偶数均能拆成两个素数的和!问题:证明哥德巴赫猜想!即从6到n的任意偶数均能拆成两个素数的和!若有高效算法请与我联系! 今年真是流年不利呀!在华为招聘网上报名的职位搞到传说找人极少的部分IT管理类,信息安全,本想好好燃烧一下,可是人家不给机会真是郁闷!事情是这样的!华为IT管理类要求有笔试,写了好几年Java,为了这个考试加班加点看了一遍C。好不容易通转载 2006-05-03 22:00:00 · 1599 阅读 · 0 评论 -
面试常考struct中对齐的问题(liumangxiong于2006-05-03)
下面所讲的例子的调试环境是winXp+VC6.0int main(int argc, char* argv[]){ typedef struct{char a:7;char b:1;char c;} schar; typedef struct{char a:7;char b:1;short c;} sshort; typedef struct{char a:7;char b:1;long c;转载 2006-05-03 21:50:00 · 1189 阅读 · 0 评论 -
LINUX下字符串操作函数的源代码
static inline char * strcpy(char * dest,const char *src){int d0, d1, d2;__asm__ __volatile__( "1:/tlodsb/n/t" "stosb/n/t" "testb %%al,%%al/n/t" "jne 1b" : "=&S" (d0), "=&D" (d1), "=&a" (d2) :"0" (src)转载 2006-04-24 15:43:00 · 1487 阅读 · 1 评论 -
LINUX下链表操作函数的源代码
struct list_head { struct list_head *next, *prev;};#define LIST_HEAD_INIT(name) { &(name), &(name) }#define LIST_HEAD(name) / struct list_head name = LIST_HEAD_INIT(name)static inline void INIT_转载 2006-04-24 15:38:00 · 1426 阅读 · 0 评论 -
C++中extern “C”含义深层探索
1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。2.转载 2006-04-24 15:17:00 · 1108 阅读 · 0 评论 -
一道C语言题(2)
#includeint main(){ unsigned char result = 1["night"]*2["girls"]+4["allnight"]; char *of_you = "Though you are strong enough and seem never haha"; printf("%s", result+of_you);转载 2006-04-24 14:25:00 · 1089 阅读 · 0 评论 -
C语言一些特性的分析
这篇文章主要是讲解了一些c语言里边容易让人迷惑的方面,通过分析程序的汇编代码来解释.这里边的东西在这本书里边讲的很清楚的 在这里我主要是想用汇编代码进行一下说明,看看到底是怎么回事. 编译器gcc 有的代码进行了2级的优化,当然不进形优化会看的更清除gcc -S -O2 BY YANGXI 1.让我们来看看数组和指针的相同和不同的地方.我们首先应转载 2006-04-24 14:15:00 · 1387 阅读 · 0 评论 -
LINUX下函数FD_SET、FD_CLR等位图操作源代码
#define __FD_SET(fd,fdsetp) / __asm__ __volatile__("btsl %1,%0": / "=m" (*(__kernel_fd_set *) (fdsetp)):"r" ((int) (fd)))#define __FD_CLR(fd,fdsetp) / __asm__ __volatile__("btrl %1,%0": / "=m"转载 2006-04-24 22:19:00 · 2526 阅读 · 0 评论 -
C++面试题
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态? virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已virtual可加可不加子类的空间里有父类的所有变量(static除外)同一个函数只存在一个实体(inline除外)子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里转载 2006-04-24 15:34:00 · 1582 阅读 · 0 评论 -
简单的识别大端和小端的程序
以下程序在VC6.0下测试通过void IsBigendian(){ unsigned int usData = 0x1234567; unsigned char *pucData = (unsigned char*)&usData; if(*pucData == 0x12) { printf("big!/n"); } else if(*pucData == 0x67) { pr转载 2006-04-24 13:47:00 · 1443 阅读 · 2 评论 -
C语言题面试大全
目录 1. 前言 2. 声明和初始化 2.1 我如何决定使用那种整数类型? 2.2 64 位机上的 64 位类型是什么样的? 2.3 怎样定义和声明全局变量和函数最好? 2.4 extern 在函数声明中是什么意思? 2.5 关键字 auto 到底有什么用途? 2.6 我似乎不能成功定义一个链表。我试过 typedef struct { char *item; NODEPTR next; } *转载 2006-04-20 21:18:00 · 4545 阅读 · 24 评论 -
为什么有些语言if语句有endif,而有些语言没有?
这不是技术问题,只是平时有没有注意到并且去考虑而已。而我也就今天突然想到今天在写Makefile,在一个else语句之后想了一下有没有endif,这时突然意识到必须要有这个endif,因为如果没有这个endif,那么这个else语句就无法判断到哪个语句结束,比如下面的语句,能断定第10行是属于else语句吗?或者断定第10行不属于else语句吗? 5 ifeq ("${D原创 2013-04-20 14:49:49 · 5805 阅读 · 1 评论