- 博客(14)
- 资源 (38)
- 收藏
- 关注
原创 【Linux】管道模拟,线程并发拷贝程序
大连某211大学的李教授继续延续一贯的光辉传统,依旧让每一届所带的本科班写线程并发的拷贝程序。而且越来越多要求,在我读本科的时候,允许用多种语言完成这个程序,然后开始规定只允许在Linux编程。现在还加上必须在管道的基础上,完成这个程序。而且,这个管道还不能直接调用Linux系统中已经封装好的管道,是需要自己根据Linux管道的机制,写成的管道,大致上如下所示:我早已经在《【Linux
2016-12-26 11:33:30 5342 16
原创 【Linux】利用文件标识符进行文件的读写
Linux的文件标识符,和Windows的就是文件名不同,它相当于文件的一个指针。在Linux的C语言中,除了用通用的《【C】文件读写问题》(点击打开链接)中介绍过的fopen等C语言通用操作文件以外,其Linux应用请参考《【Linux】利用C语言文件流复制单一文件》(点击打开链接),还能用文件标识符还来操作文件。这也是Linux中C语言,最底层,最原始控制文件的方式,其函数open,read,
2016-12-24 20:47:48 6202
原创 【C】指针、引用和数组
在大多数C语言书籍中,指针和引用常常大篇幅介绍,然后一大堆示例程序,让人觉得不明所以。在编程中,自己也不敢乱用,害怕又搞出些野指针,空指针什么的。其实这部分,现在看来并不需要了解这么多东西。只要记住,C语言中,有一个可以存地址的变量类型,比如int *,就是存int地址的变量。至于引用&,一般很少用作变量类型的。&主要和*一样作为运算符的存在比较多。虽然术语不规范,但完全可以将&理解为取地址的运算
2016-12-23 16:14:31 916
原创 【C】error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
在纯C环境下写程序,分分钟让你怀疑,自己到底会不会写程序的,太多常用库和类都不能用,甚至一些惯有的“随意表达”,分分钟都是错的。我只想在VS写个纯C练练手,应该说是在.cpp写完,觉得这段代码还可以,符合标准纯C环境,改成.c看看是否能运行,万万没想到的是,这段这么简单的代码,连个刚学C语言,甚至是文科专业选修C语言的童鞋都看得懂得的代码:#includevoid main(){ in
2016-12-23 11:55:44 88603 16
原创 【C】结构体中包含函数
在《【C】Malloc与结构体,其实就是C语言里面的new和类》(点击打开链接)提到,C语言结构体里面也可以包含函数,如同类中有方法一样,但是不能通过直接放过一个函数进去,需要通过函数指针的方式,同时,关于类的构造函数与析构函数C语言表示是没有的,需要你自己手动解决这些问题。下面讲讲如何在C语言中的结构体包含函数。如下的一段代码:#include#includeusing name
2016-12-22 17:21:37 23188 4
原创 【C】Malloc与结构体,其实就是C语言里面的new和类
在本科以来,由于老师和自己的种种原因,我一直不知道结构体和Malloc是什么,每当考试的时候,尤其是数据结构和操作系统考试的时候,我就会对着诸如《【C】利用单链表数据结构实现通讯录,链表的增删改查》(点击打开链接)代码背啊背,然后考试默啊默,一直对于这复杂的结构体和malloc不明所以。学C语言的时候,老师说结构体不用看了,考试重点考到指针和数组,学数据结构的时候,老师会上机,我从课本会抄就行了。
2016-12-22 16:35:22 8169 2
原创 【Linux】利用fork()创建多个线程
在《【Linux】fork()》(点击打开链接)只是简单交代了如同利用fork()创建子线程的方法,实际是更应该说将一个程序一分为二的方法。还有很多事情隐藏在其中值得细致思考。由于fork()结构的特殊性,如果要用fork()创建多个线程,并不像pthread_create()那样轻松,而且最关键的一点,是你利用for循环和fork()创建出来的多线程,会不明不白地多出N条线程。这主要是由于对fo
2016-12-19 17:35:37 5300
原创 【Linux】利用管道在进程通讯拷贝文件
其实Linux-C拷贝文件根本不用这么折腾,具体参见《【Linux】利用C语言文件流复制单一文件》(点击打开链接),这个程序也没有什么卵用,直接一个cp好了,主要是借这个程序说明《【Linux】管道的Helloworld》(点击打开链接)的原理。程序代码如下:#include #include #include //管道所在的头文件 #include //用来测定字体长度strle
2016-12-19 09:51:31 2393 1
原创 【Linux】fork()
fork()是LinuxC中一个基本函数,他存在于头文件之中,用于创造一个子进程。说白了,就是将本程序一分为二,互补影响地执行。直接贴一段简单的程序说明fork()的使用:#include #include int main(){ int count=0; pid_t fpid=fork(); if(fpid<0){ printf
2016-12-16 10:54:01 1596
原创 【Linux】利用man命令来查看头文件与函数说明
利用Linux-C编程的时候,要查询某一个函数所处的头文件,或者怎么用,不需要某度一下,只需要用man命令+函数名,则能够打印该函数的所有说明,当然这个函数必须是Linux-C本身就有的函数。如下图,这是fork()函数的全部说明,通过这个说明,就不用某度一下了,当然前提是你的英文水平要过关。不过一般我们基本上是通过这个man命令了解这个函数所处的头文件而已。之后,看完如果觉得
2016-12-16 09:33:58 8388 1
原创 【Linux】管道的Helloworld
Linux的管道传输数据的一种方式,但注意并是唯一方式。数据传输的方式,你可以用简单的全局变量传递数据,文件传递数据等等,但这种管道传输的方式,你要看得懂,还算是略为常用。你可以理解为,两个电话的人,听筒与话筒,而数据则在无线电中传输一样。Linux管道的用法算是比较复杂,至少远比全局变量传递数据复杂,先贴一个不带其它概念的管道,helloworld级别的程序:#include #i
2016-12-15 10:24:14 1131
原创 【Java】Apriori算法
Apriori算法是一种最基本的根据事务记录求解关联的算法。在1994年已经由Agrawal和Srikant提出。也就是那个成功在一大堆顾客的购买记录中,求解出买完啤酒还要买尿布的结论的著名数据挖掘算法。现在关联算法已经发展得多种多样,无数学术论文的产生,让关联求解更加多样化,但都是依据这个Apriori作进一步发展。利用Java完成Apriori算法其实很简单,在贴代码之前,首先讲解Apri
2016-12-14 17:02:20 6100 1
原创 【Java】通过位运算求一个集合的所有子集
Java没有自带的求一个集合的所有子集的方法,我们可以通过集合的子集规律来求。一个集合的所有子集等于2^该集合的长度。比如{c,b,a}的长度为3,这个集合的子集就有8个。这句话看起来很简单,但同时也隐含着高深的哲理。其实一个集合的所有集合,和2^该集合的长度这个数字有关。比如上面的例子,{c,b,a}的长度为3,则可以用0-7表示其所有子集。如下所示,改数字所对应的位置为1,则说明我需要
2016-12-12 15:50:35 5349
原创 【Java】一行代码读完记事本中的二维表
对于如下图所示这种用记事本中的二维表:如果要读入Java的容器中,也就是将上述的txt转化成ArrayList>,大家可能又绞尽脑汁地思考读入类、读入方法怎么写。隐约估计完成这样的工程大概需要十几行左右的代码吧?其实并不需要,一行代码就能做完这事。具体如下:import java.io.File;import java.io.FileNotFoundException;
2016-12-09 14:59:35 2354
Unity3D角色FBX模型带动作动画
2017-06-11
Fracturing & Destruction 1.11.unitypackage
2017-05-18
Struts2 Spring3 Hibertnate3核心包
2015-05-11
hibernate-distribution-3.6.10.Final-dist.zip
2015-05-11
jspsmartupload 支持中文
2014-12-15
已配置好Struts2.2.1GA的WEB-INF
2014-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人