
c
文章平均质量分 74
hepangda
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[XiyouLinux] 纳新题的更深层次探讨(1)
题目十一 以下程序段的运行结果是什么? #include<stdio.h>int main(int argc, char *argv[]) { int nums[5] = {2, 4, 6, 8, 10}; int *ptr = (int *)(&nums + 1); printf("%d, %d\n", *(nums + 1), *(ptr - 1)); retur原创 2017-06-27 17:58:49 · 499 阅读 · 0 评论 -
[GNU/Linux] Linux系统调用-文件操作(一)
POSIX 错误处理 POSIX函数若执行时发生错误,大部分函数都将设置全局变量errno,以下内容若未特别提及,均在执行失败时设置了errno。 各个errno变量可以取的常数值可以使用man 3 errno查看man手册得知。 打开文件函数功能: 打开文件并返回文件描述符,其他功能视参数而定。函数原型及解释int open(const char *path, int oflag, .原创 2017-07-20 11:43:42 · 352 阅读 · 0 评论 -
[GNU/Linux] Linux系统调用-进程相关
进程标识符函数原型及解释pid_t getpid(void); pid_t getppid(void); uid_t getuid(void); uid_t geteuid(void); gid_t getgid(void); gid_t getegid(void); 返回值:成功时getpid返回自身的pid,getppid返回自身父进程的pid,getuid返回自身的实际运行uid,geteui原创 2017-07-24 14:48:43 · 466 阅读 · 0 评论 -
[GNU/Linux] 自己实现shell
写在前面shell作为一种与内核对话的一种方式,为我们使用操作系统服务,提供了很多便利。在我们使用Linux时,shell是不得不接触的内容之一。为了学习和熟悉Linux进程相关的内核函数,我们可以尝试着自己实现一个shell。源代码src/MakefileSOURCES = $(wildcard *.cpp) OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES))原创 2017-07-25 09:13:02 · 877 阅读 · 0 评论 -
[GNU/Linux] Linux系统调用-线程相关(二):线程同步
以下内容中读写锁、自旋锁、屏障并没有在《Linux C编程实战》一书中提及,其内容来源于《Advanced Programming in the Unix Environment》中。 互斥量 Mutex初始化、销毁函数原型及解释//对于静态分配的互斥量,可以通过赋特殊值的方法完成初始化,如: pthread_mutex_t one = PTHREAD_MUTEX_INITIALIZER; //对于原创 2017-07-26 11:33:32 · 443 阅读 · 0 评论 -
[GNU/Linux] Linux系统调用-线程相关(一):基本知识
线程包含的信息:每个线程中都包含有表示自身执行环境的信息,其中至少包括:标识线程的线程ID、一组寄存器的值、栈、调度优先级和策略、信号屏蔽字、errno变量和线程的私有数据。 线程函数的错误处理与返回值:与一般的POSIX函数不同,线程函数在执行发生错误的时候,一般不会设置errno全局变量值,而是直接返回表示错误类别的错误码。因此下面的函数若不特殊说明,一般不会设置errno。 线程标识符函原创 2017-07-25 19:16:20 · 1167 阅读 · 0 评论 -
[GNU/Linux] Linux系统调用-线程相关(三):私有数据
线程特定数据线程特定数据,也称之为线程私有数据,是一种存储和查询某个特定线程相关数据的一种机制。使用线程特定数据的原因是:我们希望每个线程可以访问它单独的数据副本,而不需要担心与其他线程的同步访问问题。而实际上由于每一个线程都可以平等地访问进程空间里的所有内容,我们并不能完全地屏蔽掉这种访问,但我们可以设计使得很难在编码无恶意的情况下访问到不应当访问的数据。在使用线程特定数据之前,我们需要一个键,这原创 2017-07-27 11:04:30 · 331 阅读 · 0 评论 -
[这很难吗?] C/C++ 求Fibonacci数列的第N项(N不大于50)
为什么写? 很好奇为什么这个东西有那么难吗?于是就花了点时间探索一下 若n未知或已知 使用写轮眼复制书上代码 顺便一说书上的代码十分的难看,好孩子们不要学。 #include<stdio.h> void main() { int i; long int f, f1=1, f2=1; printf("%10ld%10ld", f1, f2)...原创 2018-04-19 13:10:26 · 2007 阅读 · 3 评论