Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux C编程的一个小例子——实现一个简单的who命令(第一版)

Linux C编程的一个小例子——实现一个简单的who命令(第一版)

在贴代码之前,有一些东西是需要讲清楚的。1)Linux C编程用到了一些只有Linux下才有的函数。而将这些放到Windows下的话,会报错。也就是说,讲一下代码在windows下运行是会报错的。。。2)有人会有疑问。书本上的是,先使用VI编辑who.c文件,然后再命令行的状态下使用GCC命令,生成一个.o文件,然后在运行该文件。假如使用eclipse在Linux进行C编码,那么是不是现在eclipse写好who.c文件,然后再命令行模式下进入到eclip...
Java 解析 apk 的签名

Java 解析 apk 的签名

Java解析apk的签名,是表示这个apk的唯一作者的。里面涉及到很多什么 私钥 公钥 之类的东西,反正是涉及的很严密,在网上的相关文档也不是很少。 说白了,就是不能轻易的让其他人去修改的你的签名,不能去修改的apk。要是修改了,签名就会发生变化,知道不是原生作者。我们就是为了判断一个apk的包,是否是原来的作者,就写一个Java的自动解析apk的签名的东西。获取到之后,当下次软件升级更新的时候,判断签名是否匹配,否则,不予以升级、更新之类的。网上写Jav...
jQuery ifame嵌套ifame 自适应高度

jQuery ifame嵌套ifame 自适应高度

前一段时间但见了一个小后台, 前期功能不多, 后期随着业务的添加,功能逐渐增加。内容也不断增加,发现当初实际ifame嵌套ifame来实现点击菜单的时候局部刷新功能不能满足当前的需要了。因为有的一个jsp界面可能很短,也可能变得很长。这导致ifame的高度要是写死的话,会变得非常难看。纠结了一段时间,终于狠下心来好好捯饬一下。完了之后,发现不是很难。自己被自己吓到了 呵呵 ~~~好了,废话说多了,开始编写代码。首先,既然是ifame嵌套ifame,就得需要...
Spring MVC 注释 + iBATIS 整合

Spring MVC 注释 + iBATIS 整合

MVC 是当前最主流的框架之一。收到广大开发者的热烈追捧。我也是受影响的人之一。因此,决定在新的项目中,使用 Spring MVC + mybatis 进行处理框架搭建。相对以前比较欢迎的SSI来说,缺少了struts2 的使用,自从上次struts的bug事件,导致现在我对struts还心有余悸。这次使用Spring代替struts也是有这方面的影响。好了,废话不多说,开始搭建环境。网上各种翻阅资料,好多。但是大体上都是说,在spring mvc + m...
Android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()总结

Android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()总结

老实说,这两个小东东实在是太麻烦了,很不好懂,我自己那api文档都头晕,在网上找到很多资料,才知道是怎么回事,这里总结一下,记住这个原则就会很清楚了:1、onInterceptTouchEvent()是用于处理事件(类似于预处理,当然也可以不处理)并改变事件的传递方向,也就是决定是否允许Touch事件继续向下(子控件)传递,一但返回True(代表事件在当前的viewGroup中会被处理),则向下传递之路被截断(所有子控件将没有机会参与Touch事件),同时...
用MapReduce做相似度分析

用MapReduce做相似度分析

Q:有一批数据(10亿量级),数据内容包括:列类型idINTcontentStringid为key,全局唯一content为一个句子列之间以 分割like:1 “互联网够公司的日志无处不在,web日志,js日志,搜索日志,监控日志等等”2 "对于这些日志的离线分析(Hadoop),wget&rsync虽然人力维护成本较高,但可以满足功能行需求。但对于这些日志的实时分析需求(例如实时推荐,监控系统),则往往必须要引入一些&ld...
Linux获取线程id的方法学习

Linux获取线程id的方法学习

最近一直在想:如何确认两段代码是不是在同一个线程中执行的呢?通过查看资料,发现一种比较简单的方法就是在代码中使用printf将当前线程的id打印出来。而这也分成两种情况:1. 如果是pthread,则使用,#include <pthread.h>pthread_t pthread_self(void);2. 如果不是pthread,即是由内核创建的线程,则使用,#include <sys/types.h>pid_t gettid(v...
Linux内核模块学习

Linux内核模块学习

模块是具有独立功能的程序,它能被单独编译,但不能独立运行。它可以在系统运行时动态的被链接到内核中作为内核的一部分在内核空间运行,所以内核模块提高了内核的可扩展性。查看当前系统中已经加载了哪些模块的方法是:1. 使用lsmod命令进行查看,sh-3.2# lsmod2. 直接查看/proc文件系统中的信息,sh-3.2# cat /proc/modules以上两种方法其实是一样的,都是查看当前系统中的模块加载状况。二者区别在于lsmod命令的结果是经过格式化...
C语言typedef关键字学习

C语言typedef关键字学习

typedef关键字用来给现有数据类型创建别名。typedef int size_t;所以下面的两个定义其实完全相同。size_t size;int size;咦,下面这样定义一个size_t的宏是不是也能达到一样的效果呢?#define size_t int在这里,确实define一个数据类型宏能达到同样的目的。但是typedef和define相比:define只会在预编译阶段进行简单的替换操作;typedef则会在编译阶段进行数据类型检查。所以相比于d...
C语言const关键字学习

C语言const关键字学习

在C语言中const关键字用来修饰一个变量,它限定一个变量不允许被修改。const int max_size = 5;看起来使用const修饰的变量,和使用宏很类似,为何不直接使用宏呢?#define MAX_SIZE (5)这是因为和宏比起来:1. const修饰的是一个变量,所以会在代码编译阶段进行语法检查。而宏只会在预编译阶段进行简单的替换动作;2. 使用const修饰的是一个变量,具有具体的数据类型,所以编译器会进行类型检查。3. 可以保护被修饰的...
<< 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 >>