Linux

<div id="article_content" class="article_content">
        <div class="markdown_views"><blockquote>
  <p>学习交流群:</p>
  
  <p><a href="http://lib.csdn.net/base/linux" class="replace_word" title="Linux知识库" target="_blank" style="color:#df3434; font-weight:bold;">Linux</a> 环境编程 <a href="" target="_blank">610441700</a></p>
</blockquote>


<p>说明:本系列文章并不能取代 <a href="" target="_blank">《APUE》</a>这本旷世之作,文章中难免有错误与不足之处,希望读者们遇到有疑问的地方可以加群互相交流,共同进步。写这一系列文章的目的有三个:一是为了提升自己对 Linux 的理解,二是锻炼自己能够把知识点讲清楚,三是希望能更好的帮助基础薄弱的同学能够在学习 APUE。</p>


<p>Linux 编程的内容非常多, <a href="" target="_blank">《APUE》</a>这本书是入门 Linux 编程的基础,虽然它讲的是 Unix 环境编程,但是对于 Linux 来说,大部分都是适用的。读者千万不能试图在一周、一个月或两个月时间内读它读透,总之切记——<strong>勿在浮沙筑高台</strong>。</p>


<h1 id="一基础"><a name="t0"></a>一、基础</h1>


<p>001 <a href="http://blog.csdn.net/q1007729991/article/details/52549728" target="_blank">gcc常用选项</a> <br>
002 <a href="http://blog.csdn.net/q1007729991/article/details/52550083" target="_blank">静态库的创建与使用</a> <br>
003 <a href="http://blog.csdn.net/q1007729991/article/details/52550682" target="_blank">共享库的创建与使用</a></p>






<h1 id="二文件io"><a name="t1"></a>二、文件IO</h1>


<p>004 <a href="http://blog.csdn.net/q1007729991/article/details/52562357" target="_blank">文件IO-从printf开始</a> <br>
005 <a href="http://blog.csdn.net/q1007729991/article/details/52563279" target="_blank">文件IO-read/write/open </a> <br>
006 <a href="http://blog.csdn.net/q1007729991/article/details/52564810" target="_blank">文件IO-文件描述符与lseek </a> <br>
007 <a href="http://blog.csdn.net/q1007729991/article/details/52663574" target="_blank">文件IO-阻塞与非阻塞IO </a> <br>
008 <a href="http://blog.csdn.net/q1007729991/article/details/52663630" target="_blank">文件IO-fcntl函数 </a></p>






<h1 id="三文件与目录"><a name="t2"></a>三、文件与目录</h1>


<p>009 <a href="http://blog.csdn.net/q1007729991/article/details/52757728" target="_blank">文件系统初探 </a> <br>
010 <a href="http://blog.csdn.net/q1007729991/article/details/52763676" target="_blank">ext2 文件系统 </a> <br>
011 <a href="http://blog.csdn.net/q1007729991/article/details/52768962" target="_blank">ext2 文件系统实验 </a> <br>
012 <a href="http://blog.csdn.net/q1007729991/article/details/53366751" target="_blank">stat 函数 </a> <br>
013 <a href="http://blog.csdn.net/q1007729991/article/details/53377074" target="_blank">stat 结构体 st_mode 字段 </a> <br>
014 <a href="http://blog.csdn.net/q1007729991/article/details/53384008" target="_blank">stat 结构体中的三个时间 </a> <br>
015 <a href="http://blog.csdn.net/q1007729991/article/details/53405716" target="_blank">linux 中的时间 </a> <br>
016 <a href="http://blog.csdn.net/q1007729991/article/details/53418504" target="_blank">st_mode 与 chmod 函数 </a> <br>
017 <a href="http://blog.csdn.net/q1007729991/article/details/53423563" target="_blank">chown 函数 </a> <br>
018 <a href="http://blog.csdn.net/q1007729991/article/details/53423863" target="_blank">utime 函数</a> <br>
019 <a href="http://blog.csdn.net/q1007729991/article/details/53424889" target="_blank">文件截断与 truncate 函数 </a> <br>
020 <a href="http://blog.csdn.net/q1007729991/article/details/53424961" target="_blank">硬链接与软链接 </a> <br>
021 <a href="http://blog.csdn.net/q1007729991/article/details/53434145" target="_blank">link系列的函数 </a> <br>
022 <a href="http://blog.csdn.net/q1007729991/article/details/53447880" target="_blank">与目录有关的函数-chdir 与 getcwd </a> <br>
023 <a href="http://blog.csdn.net/q1007729991/article/details/53455449" target="_blank">与目录有关的函数-mkdir 与 rmdir </a> <br>
024 <a href="http://blog.csdn.net/q1007729991/article/details/53456566" target="_blank">与目录有关的函数-读取目录 </a> <br>
025 <a href="http://blog.csdn.net/q1007729991/article/details/53469932" target="_blank">文件与目录总结 </a></p>






<h1 id="四进程基础"><a name="t3"></a>四、进程基础</h1>


<p>026 <a href="http://blog.csdn.net/q1007729991/article/details/53608721" target="_blank">感受进程 </a> <br>
027 <a href="http://blog.csdn.net/q1007729991/article/details/53728004" target="_blank">fork 函数与分身术 </a> <br>
028 <a href="http://blog.csdn.net/q1007729991/article/details/53728757" target="_blank">进程空间与 fork 函数原理 </a> <br>
029 <a href="http://blog.csdn.net/q1007729991/article/details/53740975" target="_blank">fork 函数与文件共享 </a> <br>
030 <a href="http://blog.csdn.net/q1007729991/article/details/53748721" target="_blank">换个姿势执行 ls 命令 </a> <br>
031 <a href="http://blog.csdn.net/q1007729991/article/details/53762408" target="_blank">wait 大战僵尸 </a> <br>
032 <a href="http://blog.csdn.net/q1007729991/article/details/53769927" target="_blank">wait大变身之waitpid </a></p>






<h1 id="五信号"><a name="t4"></a>五、信号</h1>


<p>033 <a href="http://blog.csdn.net/q1007729991/article/details/53814002" target="_blank">Hello signal</a> <br>
034 <a href="http://blog.csdn.net/q1007729991/article/details/53836614" target="_blank">招待你的“客人”</a> <br>
035 <a href="http://blog.csdn.net/q1007729991/article/details/53841596" target="_blank">标准信号及其不可靠性</a> <br>
036 <a href="http://blog.csdn.net/q1007729991/article/details/53842237" target="_blank">可重入函数 </a> <br>
037 <a href="http://blog.csdn.net/q1007729991/article/details/53858110" target="_blank">使用 kill 函数发送信号</a> <br>
038 <a href="http://blog.csdn.net/q1007729991/article/details/53884636" target="_blank">启动定时炸弹 alarm</a> <br>
039 <a href="http://blog.csdn.net/q1007729991/article/details/53885558" target="_blank">装信号的容器 sigset</a> <br>
040 <a href="http://blog.csdn.net/q1007729991/article/details/53886947" target="_blank">阻塞信号与未决信号</a> <br>
041 <a href="http://blog.csdn.net/q1007729991/article/details/53887825" target="_blank">新的信号注册函数 sigaction</a> <br>
042 <a href="http://blog.csdn.net/q1007729991/article/details/53893743" target="_blank">带参数的信号</a> <br>
043 <a href="http://blog.csdn.net/q1007729991/article/details/53897553" target="_blank">打通你的任督二脉-信号处理函数的执行期</a> <br>
044 <a href="http://blog.csdn.net/q1007729991/article/details/53906564" target="_blank">中断系统调用与自动重启动</a> <br>
045 <a href="http://blog.csdn.net/q1007729991/article/details/53908525" target="_blank">超越 goto 的跳转 longjmp</a> <br>
046 <a href="http://blog.csdn.net/q1007729991/article/details/53913384" target="_blank">打造自己的 longjmp</a> <br>
047 <a href="http://blog.csdn.net/q1007729991/article/details/53927294" target="_blank">跳出信号处理函数</a> <br>
048 <a href="http://blog.csdn.net/q1007729991/article/details/53939194" target="_blank">信号大结局 </a></p>






<h1 id="六进程间通信"><a name="t5"></a>六、进程间通信</h1>


<p>049 <a href="http://blog.csdn.net/q1007729991/article/details/53932049" target="_blank">进程通信初步</a> <br>
050 <a href="http://blog.csdn.net/q1007729991/article/details/53996384" target="_blank">进程间通信总览</a> <br>
051 <a href="http://blog.csdn.net/q1007729991/article/details/53996679" target="_blank">无名管道</a> <br>
052 <a href="http://blog.csdn.net/q1007729991/article/details/54016214" target="_blank">有名管道</a> <br>
053 <a href="http://blog.csdn.net/q1007729991/article/details/54089474" target="_blank">System V 共享内存初体验</a> <br>
054 <a href="http://blog.csdn.net/q1007729991/article/details/54286451" target="_blank">System V IPC 内核对象</a> <br>
055 <a href="http://blog.csdn.net/q1007729991/article/details/54291382" target="_blank">键值与 ftok</a> <br>
056 <a href="http://blog.csdn.net/q1007729991/article/details/54377012" target="_blank">System V 共享内存-shmat 与 shmdt</a> <br>
057 <a href="http://blog.csdn.net/q1007729991/article/details/54381254" target="_blank">System V 共享内存-shmctl</a> <br>
058 <a href="http://blog.csdn.net/q1007729991/article/details/54407525" target="_blank">System V 消息队列 </a> <br>
059 <a href="http://blog.csdn.net/q1007729991/article/details/54411293" target="_blank">System V 信号量(简介)</a> <br>
060 <a href="http://blog.csdn.net/q1007729991/article/details/54426450" target="_blank">System V 信号量(操作)</a> <br>
061 <a href="http://blog.csdn.net/q1007729991/article/details/54470449" target="_blank">System V 信号量(生产者与消费者模型)</a> <br>
062 <a href="" target="_blank">进程间通信小结(待更新)</a></p>






<h1 id="七进程间关系"><a name="t6"></a>七、进程间关系</h1>


<p>063 <a href="http://blog.csdn.net/q1007729991/article/details/56290706" target="_blank">进程扇与进程链</a> <br>
064 <a href="http://blog.csdn.net/q1007729991/article/details/56489031" target="_blank">进程组</a> <br>
065 <a href="http://blog.csdn.net/q1007729991/article/details/56667086" target="_blank">进程组(实验一)</a> <br>
066 <a href="http://blog.csdn.net/q1007729991/article/details/56674779" target="_blank">进程组(实验二)</a> <br>
067 <a href="http://blog.csdn.net/q1007729991/article/details/56677345" target="_blank">会话</a> <br>
068 <a href="http://blog.csdn.net/q1007729991/article/details/56832185" target="_blank">会话(创建会话)</a> <br>
069 <a href="http://blog.csdn.net/q1007729991/article/details/56846375" target="_blank">控制终端、前台进程组与后台进程组</a> <br>
070 <a href="http://blog.csdn.net/q1007729991/article/details/57081467" target="_blank">设置前台进程组</a> <br>
071 <a href="http://blog.csdn.net/q1007729991/article/details/57085520" target="_blank">后台进程组与控制终端</a> <br>
072 <a href="http://blog.csdn.net/q1007729991/article/details/57413719" target="_blank">孤儿进程与孤儿进程组</a> <br>
073 <a href="http://blog.csdn.net/q1007729991/article/details/57419788" target="_blank">守护进程(概念)</a> <br>
074 <a href="http://blog.csdn.net/q1007729991/article/details/57426383" target="_blank">守护进程(实现)</a> <br>
075 <a href="" target="_blank">进程间关系小结(待更新)</a></p>






<h1 id="八线程基础"><a name="t7"></a>八、线程基础</h1>


<p>076 <a href="http://blog.csdn.net/q1007729991/article/details/60466760" target="_blank">线程概念 </a> <br>
077 <a href="http://blog.csdn.net/q1007729991/article/details/60467169" target="_blank">线程创建与终止 </a> <br>
078 <a href="http://blog.csdn.net/q1007729991/article/details/60751394" target="_blank">线程清理函数 </a> <br>
079 <a href="http://blog.csdn.net/q1007729991/article/details/60962754" target="_blank">多线程雷区</a></p>






<h1 id="九线程互斥与同步"><a name="t8"></a>九、线程互斥与同步</h1>


<p>080 <a href="http://blog.csdn.net/q1007729991/article/details/61191386" target="_blank">多线程互斥与同步</a> <br>
081 <a href="http://blog.csdn.net/q1007729991/article/details/61419122" target="_blank">互斥量 mutex</a> <br>
082 <a href="http://blog.csdn.net/q1007729991/article/details/61420757" target="_blank">读写锁 rwlock</a> <br>
083 <a href="http://blog.csdn.net/q1007729991/article/details/61426006" target="_blank">自己实现互斥锁 </a> <br>
084 <a href="http://blog.csdn.net/q1007729991/article/details/61919942" target="_blank">自旋锁 spinlock</a> <br>
085 <a href="http://blog.csdn.net/q1007729991/article/details/61924077" target="_blank">线程同步</a> <br>
086 <a href="http://blog.csdn.net/q1007729991/article/details/61926511" target="_blank">条件变量 condition</a> <br>
087 <a href="http://blog.csdn.net/q1007729991/article/details/62039988" target="_blank">深入条件变量</a> <br>
088 <a href="http://blog.csdn.net/q1007729991/article/details/62041928" target="_blank">屏障 barrier</a></p>






<h1 id="十线程控制"><a name="t9"></a>十、线程控制</h1>


<p>089 <a href="http://blog.csdn.net/q1007729991/article/details/62229411" target="_blank">线程属性</a> <br>
090 <a href="http://blog.csdn.net/q1007729991/article/details/62235932" target="_blank">互斥量的共享属性</a> <br>
091 <a href="http://blog.csdn.net/q1007729991/article/details/62424302" target="_blank">互斥量的鲁棒属性</a> <br>
092 <a href="http://blog.csdn.net/q1007729991/article/details/62428025" target="_blank">递归型互斥量</a> <br>
093 <a href="http://blog.csdn.net/q1007729991/article/details/62870656" target="_blank">其它同步对象的属性</a> <br>
094 <a href="http://blog.csdn.net/q1007729991/article/details/62880821" target="_blank">可重入函数(二)</a> <br>
095 <a href="http://blog.csdn.net/q1007729991/article/details/62881232" target="_blank">errno 变量与多线程</a> <br>
096 <a href="http://blog.csdn.net/q1007729991/article/details/62882832" target="_blank">只被执行一次的函数</a> <br>
097 <a href="http://blog.csdn.net/q1007729991/article/details/62884286" target="_blank">线程私有变量</a> <br>
098 <a href="http://blog.csdn.net/q1007729991/article/details/62885633" target="_blank">模拟 errno</a> <br>
099 <a href="http://blog.csdn.net/q1007729991/article/details/62887060" target="_blank">再议 pthread_cancel</a> <br>
100 <a href="http://blog.csdn.net/q1007729991/article/details/62887750" target="_blank">多线程与信号</a> <br>
101 <a href="http://blog.csdn.net/q1007729991/article/details/62892105" target="_blank">多线程与信号(sigwait)</a> <br>
102 <a href="http://blog.csdn.net/q1007729991/article/details/62897553" target="_blank">多线程与 fork</a> <br>
103 <a href="http://blog.csdn.net/q1007729991/article/details/63254645" target="_blank">atfork 与 fork</a></p>






<h1 id="十一高级-io-记录锁"><a name="t10"></a>十一、高级 IO-记录锁</h1>


<p>104 <a href="http://blog.csdn.net/q1007729991/article/details/63686861" target="_blank">记录锁(概念)</a> <br>
105 <a href="http://blog.csdn.net/q1007729991/article/details/64121574" target="_blank">记录锁(基础)</a> <br>
106 <a href="http://blog.csdn.net/q1007729991/article/details/64122298" target="_blank">记录锁(测试命令)</a> <br>
107 <a href="http://blog.csdn.net/q1007729991/article/details/64123468" target="_blank">记录锁(底层实现)</a> <br>
108 <a href="http://blog.csdn.net/q1007729991/article/details/64123953" target="_blank">记录锁(继承与释放)</a> <br>
109 <a href="http://blog.csdn.net/q1007729991/article/details/64124141" target="_blank">记录锁(尾部加锁)</a> <br>
110 <a href="http://blog.csdn.net/q1007729991/article/details/64124459" target="_blank">建议性锁和强制性锁</a> <br>
111 <a href="http://blog.csdn.net/q1007729991/article/details/64125161" target="_blank">单例守护进程</a></p>






<h1 id="十二高级io-多路复用"><a name="t11"></a>十二、高级IO-多路复用</h1>


<p>112 <a href="http://blog.csdn.net/q1007729991/article/details/64437870" target="_blank">IO 多路复用</a> <br>
113 <a href="http://blog.csdn.net/q1007729991/article/details/64486040" target="_blank">新的容器-fd_set</a> <br>
114 <a href="http://blog.csdn.net/q1007729991/article/details/64494456" target="_blank">select(基础)</a> <br>
115 <a href="http://blog.csdn.net/q1007729991/article/details/64905257" target="_blank">select 与信号</a> <br>
116 <a href="http://blog.csdn.net/q1007729991/article/details/64906277" target="_blank">poll 函数</a> <br>
117 <a href="http://blog.csdn.net/q1007729991/article/details/65435263" target="_blank">epoll(基础)</a> <br>
118 <a href="http://blog.csdn.net/q1007729991/article/details/65626402" target="_blank">epoll (函数)</a> <br>
119 <a href="http://blog.csdn.net/q1007729991/article/details/65643545" target="_blank">epoll(触发模式)</a> <br>
120 <a href="http://blog.csdn.net/q1007729991/article/details/66478050" target="_blank">epoll(边沿模式)</a></p>






<h1 id="十三高级io-异步io"><a name="t12"></a>十三、高级IO-异步IO</h1>


<p>121 <a href="http://blog.csdn.net/q1007729991/article/details/67635143" target="_blank">同步 IO 与异步 IO</a> <br>
122 <a href="http://blog.csdn.net/q1007729991/article/details/67638435" target="_blank">POSIX 异步IO(aiocb)</a> <br>
123 <a href="http://blog.csdn.net/q1007729991/article/details/68059759" target="_blank">POSIX 异步IO(异步操作状态)</a> <br>
124 <a href="http://blog.csdn.net/q1007729991/article/details/68060889" target="_blank">POSIX 异步IO(等待异步IO操作)</a> <br>
125 <a href="http://blog.csdn.net/q1007729991/article/details/68063500" target="_blank">POSIX 异步IO(取消操作)</a> <br>
126 <a href="http://blog.csdn.net/q1007729991/article/details/68064840" target="_blank">POSIX 异步IO(批量请求)</a> <br>
127 <a href="http://blog.csdn.net/q1007729991/article/details/68065644" target="_blank">POSIX 异步IO(异步通知)</a></p>






<h1 id="十四网络编程基础"><a name="t13"></a>十四、网络编程基础</h1>


<p>128 <a href="http://blog.csdn.net/q1007729991/article/details/68071234" target="_blank">字节序</a> <br>
129 <a href="http://blog.csdn.net/q1007729991/article/details/68486760" target="_blank">IPv4 地址</a> <br>
130 <a href="http://blog.csdn.net/q1007729991/article/details/68489462" target="_blank">IP 地址和端口号</a> <br>
131 <a href="http://blog.csdn.net/q1007729991/article/details/68491345" target="_blank">安装“插座”</a> <br>
132 <a href="http://blog.csdn.net/q1007729991/article/details/68923936" target="_blank">发起连接请求</a> <br>
133 <a href="http://blog.csdn.net/q1007729991/article/details/68924529" target="_blank">接受连接</a> <br>
134 <a href="http://blog.csdn.net/q1007729991/article/details/68926047" target="_blank">开始通信</a> <br>
135 <a href="http://blog.csdn.net/q1007729991/article/details/68928312" target="_blank">大写转换服务器</a> <br>
136 <a href="http://blog.csdn.net/q1007729991/article/details/68947623" target="_blank">基于 UDP 协议的通信</a></p>


<p><strong>待更新……</strong></p></div>
        <script type="text/javascript">
            $(function () {
                $('pre.prettyprint code').each(function () {
                    var lines = $(this).text().split('\n').length;
                    var $numbering = $('<ul></ul>').addClass('pre-numbering').hide();
                    $(this).addClass('has-numbering').parent().append($numbering);
                    for (i = 1; i <= lines; i++) {
                        $numbering.append($('<li></li>').text(i));
                    };
                    $numbering.fadeIn(1700);
                });
            });
        </script>
   
</div>
CCF大数据与计算智能大赛-面向电信行业存量用户的智能套餐个性化匹配模型联通赛-复赛第二名-【多分类,embedding】.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值