深入Linux环境编程
深入讲解Linux下的应用编程方面
loe
专注linux
展开
-
通俗理解Linux上的硬链接和软链接
假设目录“~”下面不存在a, b, c这样的文件,在该目录下面执行如下命令: 题目步骤 $ echo hello > a $ ln a b $ ln -s a c $ rm a $ echo world > a 请问接下来执行“cat b”输出什么?执行"cat c”输出什么?解释为什么!详细论述其中关于inode等的变化 ■基本概念 一.文件在linux上的构成 1.inode...原创 2018-09-22 10:03:40 · 892 阅读 · 0 评论 -
关于字符串的反转问题
有时候的需求比较奇怪,下面直接贴出代码,用到的技术点有两个 1.字符串反转,即交换位置的方法用异或 2.格式化输出,要求每4个字节用"-"隔开 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct _Data { char rawData[5][4]; char...原创 2019-01-29 09:38:04 · 232 阅读 · 0 评论 -
Linux下编程注意---32位系统移植到64位系统
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;pthread.h&gt; #include &lt;unistd.h&gt; #include &lt;malloc.h&gt; pthread_t thread_id[2]; unsigned int c; vo原创 2018-11-20 09:41:28 · 1210 阅读 · 0 评论 -
关于Makefile的编译简洁
在编写大型项目的时候,往往编译log是非常多的,让人看着不舒服 比如说一个简单的helloWorld程序: #include &lt;stdio.h&gt; int main() { printf("hello world\n"); return 0; } Makefile也比较简单: gcc -o 11 1.c 所以 make 执行后,输出: gcc -o 11 1.c,如果...原创 2019-01-23 09:19:26 · 344 阅读 · 0 评论 -
深入Linux编程系列前言
本系列主要记载一些Linux应用编程实际项目中需要注意的事情,涉及的范围包括: 一. Linux应用工程师必要的一些内核知识,以及glibc的知识 1.1 什么是虚拟内存VMA,mmu,为什么每个程序都是4G空间,OS是如何做的(带图) 1.2 fork 到底是怎么回事儿,如何在OS上运行的(带图) 1.3 线程到底是什么,为什么应用层有线程的概念,内核层没有,线程与进程到底是什么关系(带图) 1...原创 2018-11-20 11:00:07 · 382 阅读 · 0 评论