随笔分类 -  C

摘要:这个问题真心是处理了一个下午,还自己去下载了个最新的内核拿来编译,其实是完全没必要的,因为ubuntu系统是可以直接下载新内核的。你可以在/usr/src/文件夹下找到这些内核文件夹,比如说我自己的系统:写博客的时候使用的是3.13.0-19的内核。写一个hello.c的测试文件: 1 #include /*Needed by all modules*/ 2 #include /*Needed for KERN_* */ 3 #include /* Needed for the macros */ 4 5 MODULE_LICENSE("GPL"); 6 7 static 阅读全文
posted @ 2014-03-24 17:17 NeroHwang 阅读(31190) 评论(0) 推荐(3)
摘要:一开始运行出错,开启debug以后发现在push自定义对象的时候调试器提示找不到一个叫/XXX/XXXX/XXXX/libcstl-2.3.0/src/cstl_list_private.c而那个路径正是我进行安装的路径,安装完以后我把安装包给删除掉了,所以它找不到。这样的话,我们在一开始安装的时候就要注意最好先把tar.gz解压出来的文件夹放到特定文件夹,比如/usr/local/下,这样不会在安装完成后被误删,也比较方便查找。但是再次调试的时候却发现插入操作死在了调用_my_copy()函数那里,里面设置了一个int型临时变量i_temp用来作中间值方便调试,调试过程中发现i_temp成了 阅读全文
posted @ 2014-03-21 16:55 NeroHwang 阅读(1176) 评论(0) 推荐(0)
摘要:不想多说什么,会搜这些东西的都是想看代码的吧。一开始不熟悉多线程的时候还在想怎么来控制一个线程的结束,后来发现原来有pthread_exit()函数可以直接在线程函数内部调用结束这个线程。开始还想初始化一个pthread_t thread_fd[MAX]数组来存储开启的线程,然后用一个栈存储那些未分配的数组元素(thread_fd[index]=0)的index,跟缓存的思维相似,不过实在是想多了。废话不多说,直接上代码,服务器和客户端都已经编译通过,正常运行,有基本的容错能力,不过也只是最基本的。服务器: 1 /* 2 * multi_thread_socket_server.c 3... 阅读全文
posted @ 2014-03-15 17:02 NeroHwang 阅读(18564) 评论(0) 推荐(2)
摘要:目录:一、解决小的问题;二、大问题,如果你不小心把/usr/lib的所属用户改了导致sudo命令用不了:三、C连接MySql编程本身:其实写这个程序真的很简单,十多分钟的事情,只是以前没在Linux下用纯C连过Mysql,想试一下,竟然搞了一整天,而且不是由于编码本身,是因为其他的一些周边问题,所以很有必要做一下笔记。一、解决小的问题:1、怎么自己去学着编写?C语言针对MySql函数的帮助怎么查找:这些东西在MySql提供的帮助文档里都是有的,索引是C API。可以自己去下载chm格式的帮助文档,个人觉得这种文档比较好用,也可以去官网自行决定下载其他类型的帮助文档:http://dev.mys 阅读全文
posted @ 2014-03-07 23:42 NeroHwang 阅读(12635) 评论(0) 推荐(0)
摘要:问题描述很简单,就是限制每行的最大字符数量,如果超过了这个数,将多出来的部分折叠到下一行,下一行照样重复上述步骤,直到折叠完毕。这里要考虑的问题有:1、一旦判断到当前读取的字符数量已经到了限制值,我就要插入一个'\n'用来换行;2、如果当前超过限制的位置是一个单词的内部,比如说读到“hello”这个单词的'e'位时到了限制位,那么不可能直接在这里插入'\n'换行,怎么办?结合上面的思考,我们可以设定三个临时变量用来指明特定的数组下标:1、current,指定当前读取到的位置;2、location,指定当前行读取到的位置;3、spaceholder 阅读全文
posted @ 2014-02-27 15:15 NeroHwang 阅读(1027) 评论(0) 推荐(1)