<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dielin4342的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dielin4342</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dielin4342]]></copyright><item><title><![CDATA[Linux c 获取cpu使用率(2)]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773587</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773587</guid><author>dielin4342</author><pubDate>Wed, 16 Aug 2017 17:37:00 +0800</pubDate><description><![CDATA[上一篇博文当中，我们谈论了在Linux中如何获取执行命令行的结果，最终得到cpu的 使用率，但是十分不幸的事情是：
1）通过top -n 1 | grep Cpu获取的cpu使用率不会刷新，每次读取结果只能够得到第一次执行的结果。
2）可能导致SIGNAL上的冲突
新的代码的解决原理：
通过读取/proc/stat中的数据计算得出cpu的使用率

#include &lt;s...]]></description><category></category></item><item><title><![CDATA[Linux c codeblock的使用（四）：创建自己的静态函数库]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773583</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773583</guid><author>dielin4342</author><pubDate>Fri, 11 Aug 2017 11:08:00 +0800</pubDate><description><![CDATA[从我之前的博文当中，大家应该大概了解了linux下的函数库究竟是一个什么样的东西。linux下的函数库其实就像windows中的dll文件，里面包含了程序运行所需要的函数。
其实无论是我们使用linux系统本身自带的库，还是使用第三方源代码编译所产生的函数库，无论有意识还是无意识，我们在linux下使用c语言进行编程，其实多多少少都会和函数库进行接触。
将源代码编译成函数库之后，我们...]]></description><category></category></item><item><title><![CDATA[Linux c codeblock的使用（三）：使用函数库]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773575</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773575</guid><author>dielin4342</author><pubDate>Sat, 29 Jul 2017 09:59:00 +0800</pubDate><description><![CDATA[（一）概念
什么是函数库呢？一下子说概念大家可能不太熟悉，但是这实际上是大家在windows系统上经常见到的东西。没错，就是那些后缀为DLL的文件。
linux上实际也有自己的函数库文件，文件类型为.a或是.so，前者是静态函数库，后者是动态函数库。
静态函数库和动态函数库有什么区别？静态函数库和动态函数库在编译的时候都需要用到，但是不同的是，静态函数库在和程序一起编译的时候会把自...]]></description><category></category></item><item><title><![CDATA[Linux c codeblock的使用（二）：在工程中编译多个文件]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773573</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773573</guid><author>dielin4342</author><pubDate>Fri, 28 Jul 2017 09:23:00 +0800</pubDate><description><![CDATA[（一）前言
我们刚开始学习linux c的时候，一般都是在一个c文件里面写完所有程序，然后用gcc编译这个c文件就好了，十分简单。
但是你有没有想过，如果我们希望将不同模块的代码放到不同的c文件，然后最后编译成一个程序，这个时候又应该怎么办呢？
有人会说，怎么用这么麻烦，直接放在一个c文件里面就好了。但是你总是要考虑一下现实情况的多变性，虽然同时编译很多个c文件不好，但是只会编译一...]]></description><category></category></item><item><title><![CDATA[Linux c codeblock的使用（一）：新建一个工程]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773581</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773581</guid><author>dielin4342</author><pubDate>Thu, 27 Jul 2017 08:56:00 +0800</pubDate><description><![CDATA[（1）点击New-&gt;Project,出现如下图所示，然后再选择Console application,点击Go

(2)点击Next

(3)根据自己的需求选择特定的语言（前提是你的系统上有这个语言的编译器），然后点击Next

(4)在Project title那里设置自己的工程的名字，Project filename会自动设置和工程名字一样的。然后点击Next。
...]]></description><category></category></item><item><title><![CDATA[关于warning: suggest parentheses around assignment used as truth value [-Wparentheses]|的解决方法...]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773576</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773576</guid><author>dielin4342</author><pubDate>Wed, 26 Jul 2017 14:36:00 +0800</pubDate><description><![CDATA[今天，在调试的时候一直出现warning: suggest parentheses around assignment used as truth value
代码如下：
 if(startTime==0) { while(startTime=time((time_t*)NULL)==-1); } while(currentTime=time((...]]></description><category></category></item><item><title><![CDATA[Linux c使用gumbo库解析页面表单信息（三）]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773570</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773570</guid><author>dielin4342</author><pubDate>Wed, 26 Jul 2017 10:21:00 +0800</pubDate><description><![CDATA[前面说了那么多，终于说到如何解析html表单信息了。
什么是表单信息呢，这里我们先要有一些概念：
如上图，这是一个QQ注册页面，注册页面当中需要我们填的空其实就是一个表单信息。
具体到html代码当中，如下
&lt;form action="action_page.php"&gt;
First name:&lt;br&gt;
&lt;input type="text" nam...]]></description><category></category></item><item><title><![CDATA[Linux c获取任意路径的硬盘使用情况]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773559</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773559</guid><author>dielin4342</author><pubDate>Tue, 25 Jul 2017 16:19:00 +0800</pubDate><description><![CDATA[没有什么好说的，其实就是获取硬盘的statfs信息结构
代码如下：

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;sys/statfs.h&gt;
#include &lt;sys/vfs.h&gt;
#include &lt;string.h&gt;
#include &lt;errno...]]></description><category></category></item><item><title><![CDATA[Linux c使用gumbo库解析页面表单信息（二）]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773557</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773557</guid><author>dielin4342</author><pubDate>Tue, 25 Jul 2017 10:21:00 +0800</pubDate><description><![CDATA[一、如何在程序当中使用gumbo?
要想在代码中使用gumbo，仅仅包含gumbo头文件是不够的，必须在编译程序的时候加上-lgumbo选项，编译程序才会链接到gumbo库上面。
这是我编译gumbo库的get_title.c所使用的命令行
gcc get_title.c -lgumbo -o title.exe结果如下：

二、gumbo实例测试
为了能够让大家能够更加深入...]]></description><category></category></item><item><title><![CDATA[linux c使用socket进行http 通信，并接收任意大小的http响应（五）]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773565</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773565</guid><author>dielin4342</author><pubDate>Mon, 24 Jul 2017 09:11:00 +0800</pubDate><description><![CDATA[http.c data2.c http_url.c http.h data2.h http_url.h主要实现的功能是通过URL结构体来实现HTTP通信，你可以把这三个文件独立出来，作为HTTP通信模块来用 一个简单的使用例子:

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string....]]></description><category></category></item><item><title><![CDATA[linux c使用socket进行http 通信，并接收任意大小的http响应（四）]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773574</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773574</guid><author>dielin4342</author><pubDate>Mon, 24 Jul 2017 08:59:00 +0800</pubDate><description><![CDATA[终于说到SOCKET 这里了。SOCKET进行http通信的实际就是利用socket将http请求信息发送给http服务器，然后再利用socket接收http响应。
由于本文与之通信的服务器是ip已知的，所以为了能够将能够和互联网网站进行http通信还要另外像办法。
代码如下：
（1）http.h
//http.c当中可能被其他程序锁用到的函数的声明#include "http_...]]></description><category></category></item><item><title><![CDATA[linux c使用socket进行http 通信，并接收任意大小的http响应（三）]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773571</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773571</guid><author>dielin4342</author><pubDate>Mon, 24 Jul 2017 08:46:00 +0800</pubDate><description><![CDATA[使用socket进行http通信的时候，浏览器返回的响应经常不是固定长度的，有时候很大，有些时候又非常小，十分讨厌。如果仅仅只是为了接收一小段信息，设置一个十分大的缓存，这样又会十分浪费。而且经常更改缓存大小的话，也不太好。
为了能够接收任意大小的响应，我程序的流程大概是这样子的：
（1）将SOCKET接收的信息保存到一个动态分配内存的链表里。链表每个节点存储有固定字节大小的HTTP...]]></description><category></category></item><item><title><![CDATA[Linux c读取系统内存使用信息]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773563</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773563</guid><author>dielin4342</author><pubDate>Fri, 21 Jul 2017 11:50:00 +0800</pubDate><description><![CDATA[系统的内存使用信息能够在虚拟文件系统/proc/meminfo中找到，如图

所以只要打开/proc/meminfo文件，然后从中读取信息就好了

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#include &lt;unistd.h&gt;#include &lt;fcnt...]]></description><category></category></item><item><title><![CDATA[linux c使用socket进行http 通信，并接收任意大小的http响应（二）]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773568</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773568</guid><author>dielin4342</author><pubDate>Fri, 21 Jul 2017 10:13:00 +0800</pubDate><description><![CDATA[先贴请求头部信息组织代码.
有同学会疑问http_url.h是干什么用的，我要在这里声明，http_url.h并不是给http_url.c用的，实际上http_url.h声明了http_url.c已经编写好的函数，这样当我们想要在其他c文件使用http_url.c文件的函数的时候就不必将http_url.c文件中的内容整个复制过去，只要包含http_url.h头文件，然后再和http_...]]></description><category></category></item><item><title><![CDATA[linux c使用socket进行http 通信，并接收任意大小的http响应（一）]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773566</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773566</guid><author>dielin4342</author><pubDate>Fri, 21 Jul 2017 09:34:00 +0800</pubDate><description><![CDATA[如何进行http通信呢？我们打开任意一个浏览器，按F12,再选择网络，然后打开任意一个网站，我们就可以看到浏览器和网站通信的过程
如下图：

然后，我们任意点击一条记录，可以看到

然后，查找http协议有关资料，并且进行分析，我们可以发现，http通信实际上是浏览器按照http请求格式发送给服务器信息，然后服务器再将被请求的信息以http响应格式发送回浏览器。
一次类推，我...]]></description><category></category></item><item><title><![CDATA[Linux c读取任意大小文件的所有数据]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773564</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773564</guid><author>dielin4342</author><pubDate>Fri, 21 Jul 2017 08:50:00 +0800</pubDate><description><![CDATA[代码如下,执行完之后被分配的动态内存的指针会保存到result中。由于是动态分配内存，读取内容不再使用之后注意用free 释放掉，如不明白，请多搜索以下动态内存分配的资料。
#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;sys/stat.h&gt;#include &lt;sys/types.h&gt;#in...]]></description><category></category></item><item><title><![CDATA[Linux c 从文件当中读取任意一行的数据]]></title><link>https://blog.youkuaiyun.com/dielin4342/article/details/101773561</link><guid>https://blog.youkuaiyun.com/dielin4342/article/details/101773561</guid><author>dielin4342</author><pubDate>Fri, 21 Jul 2017 08:42:00 +0800</pubDate><description><![CDATA[代码如下
#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;sys/stat.h&gt;#include &lt;sys/types.h&gt;#include &lt;string.h&gt;#include &lt;fcntl.h&gt;#define FILEBUFFER_LENGTH 5000#defin...]]></description><category></category></item></channel></rss>