易截截图软件、单文件、免安装、纯绿色、仅160KB

linux获取网络接口名:如eth0

 #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<net/if.h>
static char *bad_interface_names[] = {
            "lo:",
            "lo",
            "stf",     /* pseudo-device 6to4 tunnel interface */
            "gif",     /* psuedo-device generic tunnel interface */
            "dummy",
            "vmnet",
            NULL        /* last entry must be NULL */
        };
static int is_bad_interface_name(char *i) {
    char **p;
    for (p = bad_interface_names; *p; ++p)
        if (strncmp(i, *p, strlen(*p)) == 0)
            return 1;
    return 0;
}
   
/* This finds the first interface which is up and is not the loopback
* interface or one of the interface types listed in bad_interface_names. */
static char *get_first_interface(void) {
    struct if_nameindex * nameindex;
    char *i = NULL;
    int j = 0;
    /* Use if_nameindex(3) instead? */
    nameindex = if_nameindex();
    if(nameindex == NULL) {
        return NULL;
    }
    while(nameindex[j].if_index != 0) {
        if (strcmp(nameindex[j].if_name, "lo") != 0 && !is_bad_interface_name(nameindex[j


相关文档:

初学Linux积累。

2009-10-27
1,重启 reboot
2009-10-28
1,忘记了root用户密码的解决帮
启动后按esc进入修复模式,选择修复,并选择最后一个。root,进去后,更改密码:passwd root
然后根据提示输入两次密码就行了。
2009-10-29
1,ls
    ls -a 查看所有文件
    ls -l 查看详细的属性
 &nbs ......

Linux操作系统下的多线程编程详细解析(3)


3、线程标识
    函数原型:
   
#include <pthread.h>
pthread_t pthread_self(void);
pid_t getpid(void);
    getpid()用来取得目前进程的进程识别码,函数说明
    例程8
    程序目的:实现在新建立的线程中打印该线程的id和进 ......

Linux操作系统下的多线程编程详细解析(4)


   函数原型:
   
#include <pthread.h>
void pthread_cleanup_push(void (*rtn)(void *),void *arg);
    函数rtn是清理函数,arg是调用参数
void pthread_cleanup_pop(int execute);
 
 
    在前面讲过线程的终止方式,是正常终止还是非 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号