linux tcp socket编程初级
服务端:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h> /* See NOTES */
#include <sys/socket.h>
#include <string.h>
#include <arpa/inet.h>
int main(int argc,char *argv[])
{
socklen_t prolen;
int lfd,cfd;
int ret;
linux内核 hash表的基本使用
栗子如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "hlist.h"
typedef struct list_test{
struct hlist_node hnode;
int ap;
}HlistTest;
//计算hash值
struct hlist_head * call_hash(struct hlist_head *hash,int id)
{
unsi
内核网络通知链的使用netdev_chain和inetaddr_chain
函数介绍 (1) int register_netdevice_notifier(struct notifier_block *nb) 功能: 在内核通知链netdev_chain上注册消息块,用来接收有关网络设备的注册状态等信息 nb:消息块,在里面自己添加消息处理函数 返回值:成功返回0 头文件:#include <linux/netdevice.h> (2) int unregister_netdevice_notifier(struct notifier_block *nb) 功能:与
linux 字符设备框架使用 初级
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/cdev.h>
#include <linux/fs.h>
#include <linux/device.h>
struct cdev g_tecdev;
dev_t g_devnu;
struct class *g_cls;
int my_cdev_ope
浅谈Linux PCI设备驱动
转自 http://www.uml.org.cn/embeded/201205152.asp 浅谈Linux PCI设备驱动(一) 要弄清楚Linux PCI设备驱动,首先要明白,所谓的Linux PCI设备驱动实际包括Linux PCI设备驱动和设备本身驱动两部分。不知道读者理不理解这句话,本人觉得这句话很重要,对于PCI、USB这样的驱动来说,必须要理解这个概念,才能明白该如何看待Linux下的PCI和USB以及类似的总线型的驱动。理由也很简单,就是Linux PCI驱动是内核自带的,或者
各种网络设备分配创建net_device{}流程
接下来分析alloc_netdev_mq()
/*
@sizeof_priv 私有数据大小,驱动可以使用netdev_priv()得到该私有数据
@name:网络接口的名字
@setup:驱动程序负责实现此函数,实现的此函数用于初始化net_device中的一些成员
@queue_count:网络设备的发送队列
net_device数据结构的内存空间+私有数据内存空间+设备发送队列的内存空间+对齐字节
*/
struct net_device *alloc_netdev_mq(int si
kobject的使用
struct kobj_type { void (*release)(struct kobject *kobj);//在kobect_put()中会调用释放kobect对象 struct sysfs_ops *sysfs_ops; //对attribute进行操作 struct attribute **default_attrs; /*每个属性代表一个此目录下的文件 比如在/sys/下加入了cat 这个kobject 那么会有/sys/cat/ 这个目录 那么这个kobect有属性 size
linux 2.6.32下sysctl的使用
struct ctl_table { int ctl_name; /* 结点标识,同一层的结点用不同的数字来标识 此处设置的意义可以看do_sysctl()->parse_table() */ const char *procname; /* /proc/sys/ 下使用的文件名*/ void *data; /*内核变量的地址*/ int maxlen; /*内核变量的尺寸大小*/ mode_t mode; /*文件访问权限*/ struct ctl_table *child; /*建立文件与
深入理解JVM——虚拟机GC
对象是否存活 Java的GC基于可达性分析算法(Python用引用计数法),通过可达性分析来判定对象是否存活。这个算法的基本思想是通过一系列"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时(图论称之为不可达),则证明此对象是不可用的。 无论引用计数法,还是可达性分析都离不开“引用”的概念。Java将引用分为四种(强引用、软引用,弱引用,虚引用),这四种引用强度依次逐渐减弱。 strong referenc
shell 判断字符串长度是否为0
test.sh #!/bin/bash
echo "enter the string:"
read filename
if test -z $filename ; then
echo "the length is 0"
else
echo "the length is not 0"
fi 执行 sudo chmod +x test.sh ./test.sh 输出 enter the string:
the length is 0 执行 ./test.sh 输出 enter the strin
Flask框架:视图
1、视图中请求request的属性 request.method
request.args
request.form
request.values
request.cookies
request.headers
request.path
request.full_path
request.script_root
request.url
request.base_url
request.url_root
request.host_url
request.host
request.files
ob
台军欲购美MQ8无人机 单价3000万比美军采购价高1…
“90后”女大学生放弃北大保送复旦!她到底有多厉害? 东北网12月6日讯(记者 姜姗姗) 在东北农业大学有这样一个自强不息的女大学生,她放弃北大直博被保送到复旦大学药学院。她本科期间获得国家奖学金、国家励志奖学金、新东方自强奖学金、第一届全国大学生生命联赛国家二等奖……被评为黑龙江省“三好学生”。她就是生命科学学院制药1501班的“90后”女孩儿丁文鑫。 “90后”女大学生丁文鑫。 东北农业大学供图 理想就在那里,努力创造奇迹 来自于山东的姑娘丁文鑫在入学时对这里充满了欣喜与好奇,虽
python-day4 运算符,if判断, for循环
1.运算符 算术运算符 + - * / % 赋值运算符 = += -= 比较运算符 == < <= > >= != 逻辑运算符 not and or (按优先级排列) 成员运算符 in (包含) not in (不包含) 案例: t=[1,'hello',666,0.989] print('h' in t[1]) 结果为True h在列表'hello'里,'hello'索引是t[1] print('h' in t) 结果为False d={'name':'小
权敬源亲承还能为权健再踢半年 朴忠均去向未定
“90后”女大学生放弃北大保送复旦!她到底有多厉害? 东北网12月6日讯(记者 姜姗姗) 在东北农业大学有这样一个自强不息的女大学生,她放弃北大直博被保送到复旦大学药学院。她本科期间获得国家奖学金、国家励志奖学金、新东方自强奖学金、第一届全国大学生生命联赛国家二等奖……被评为黑龙江省“三好学生”。她就是生命科学学院制药1501班的“90后”女孩儿丁文鑫。 “90后”女大学生丁文鑫。 东北农业大学供图 理想就在那里,努力创造奇迹 来自于山东的姑娘丁文鑫在入学时对这里充满了欣喜与好奇,虽
大型科技公司进军金融服务:欧盟监管机构拟采取措施
“90后”女大学生放弃北大保送复旦!她到底有多厉害? 东北网12月6日讯(记者 姜姗姗) 在东北农业大学有这样一个自强不息的女大学生,她放弃北大直博被保送到复旦大学药学院。她本科期间获得国家奖学金、国家励志奖学金、新东方自强奖学金、第一届全国大学生生命联赛国家二等奖……被评为黑龙江省“三好学生”。她就是生命科学学院制药1501班的“90后”女孩儿丁文鑫。 “90后”女大学生丁文鑫。 东北农业大学供图 理想就在那里,努力创造奇迹 来自于山东的姑娘丁文鑫在入学时对这里充满了欣喜与好奇,虽
大象转身!这央行三季意外减持美股 抛售100万股苹果
11月29日消息,@北京商报从度小满金融人士处获悉,百度正式拿到准许经营证券期货的许可证。据许可证显示,机构名称为北京百度百盈科技有限公司(下称“百度百盈”),证券期货业务经营范围为基金销售。而今年8月22日,根据北京证监局官网显示,证监局已核准百度百盈证券投资基金销售业务资格。 企查查信息显示,百度百盈成立于2016年8月8日,注册资本2000万元人民币,法定代表人为张旭阳;股东百度鹏寰资产管理(北京)有限公司(下称“百度鹏寰”)100%全资控股;与此同时,由百度公司董事长兼首席执行官李彦宏
周排行