在linux驱动中“幸福一家”是这样子的。苦逼的工科学生。:(
*人生短短几个秋,常掺喜怒哀与愁。*名利财色身外物,唯有真爱相永恒。
*/
#include <你的父母.h>
#include <我的父母.h>
#include <你的朋友.h>
#include <我的朋友.h>
#include <你的事业.h>
#include <我的事业.h>
struct 我们幸福一家
{
struct cdev;
int 家庭核心;
int 我得私有;
int 你得私有;
int 家庭宝贝;
}
static irqreturn_t 家庭宝贝_interrupt(int irq, void *dev_id)
{
int 宝宝状态;
if(宝宝状态 == 童年)
printk("我们一起教他/她,让他/她快快乐乐的成长,渐渐懂事再长大......");
if(宝宝状态 == 上学)
printk("你来辅导功课,我来负责课外活动,让他/她辨清是非");
if(宝宝状态 == 长大成人)
printk("我们快乐的看着他/她凭自己的能力创出一片天");
return OK;
}
int 咱家开始_open(struct inode *inode, struct file *filp)
{
char 你父母状态,我父母状态 ;
if(你父母状态 == "同意"|| 我父母状态 == "同意")
咱俩直奔民政局领证结婚;
else if(大伯二姑三妈四舅五婶六姨 == "不同意")
咱俩飞奔去民政局领证结婚;
else
咱俩狂奔加百米冲刺去民政局领证结婚;
request_irq(我们幸福一家.家庭宝贝, 家庭宝贝_interrupt, 家庭宝贝,
家庭宝贝, (void *)&家庭宝贝]);
return OK;
}
static int 咱家事务_ioctl(struct inode *inodep, struct file *filp, unsigned
int cmd, unsigned long arg)
{
switch(cmd)
{
case 我想你时:
printk("我爸妈会说:让她来咱家住几天呗!");
break;
case 你无聊时:
printk("你爸妈会自然得说:去给那臭小子打电话,让他带你出去玩去!");
break;
case 你不高兴时:
printk("我会想尽办法逗你开心,为你加油鼓劲");
break;
case 你饿时:
printk("我会给你做饭,哪怕切菜割破手");
break;
case 咱孩子饿了:
printk("你给孩子喂奶");
break;
case 咱孩便便了:
printk("我给宝宝洗");
break;
default:
printk("不管遇到多大的困难挫折和风雨,我们都会快乐的一起挺过去");
}
return OK;
}
int 咱俩夕阳红_release(struct inode *inode, struct file *filp)
{
printk("当咱俩年老满脸皱纹时,你扶着我,我搀着你,坐在湖边的长凳上一起看夕阳");
return OK;
}
static const struct file_operations 咱家事务集合 =
{
.owner = THIS_MODULE,
.open= 咱家开始_open,
.ioctl = 咱家事务_ioctl,
.release =咱俩夕阳红_release,
}
/*设备驱动模块加载函数*/
int family_init(void)
{
int 恋爱;
int 继续追;
dev_t我们家 = MKDEV(你,我);
/* 申请设备号*/
if (你同意)
恋爱 = register_chrdev_region(我们家 , 1, "我们幸福一家");
else/* 动态申请设备号 */
{
继续追 = alloc_chrdev_region(&我们家 , 0, 1, "我们幸福一家");
while(!恋爱)
继续追++;
}
// return 恋爱;
/* 申请结婚*/
我们幸福一家 = kmalloc(sizeof(struct 我们幸福一家), GFP_KERNEL);
memset(我们幸福一家, 0, sizeof(struct 我们幸福一家));
cdev_init(&我们幸福一家->cdev, &咱家事务集合);
我们幸福一家->家庭核心 = 你;
我们幸福一家->我得私有 = 你;
我们幸福一家->你得私有 = 我;
我们幸福一家->家庭宝贝 = 咱孩子;
cdev_add(&我们幸福一家->cdev, 我们家, 1);
printk("我们幸福一家");
}
viod family_exit(void)
{
printk("风风雨雨同船渡;朝朝暮暮比翼飞;不离不弃。我永远爱你");
}
module_init(family_init);
module_exit(family_exit);
MODULE_AUTHOR("buzaiyouyu001 <522585109@qq.com>"); 请提供该程序的HEX文件and原理图 靠,这个程序有一个最大的bug,无main函数呢。----也许是我眼花,没有看见。 回复【2楼】lengshuicha冷水茶
靠,这个程序有一个最大的bug,无main函数呢。----也许是我眼花,没有看见。
-----------------------------------------------------------------------
linux driver module模式 就是这个样子,没有main,内核是一个大的main,driver作为一个module
插入到内核 应该改改:
static irqreturn_t 家庭宝贝_interrupt(int irq, void *dev_id)
{
int 宝宝状态;
if(宝宝状态 == 童年)
printk("送进外国语幼儿园");
if(宝宝状态 == 上学)
printk("送进外国语中学、北京大学");
if(宝宝状态 == 长大成人)
printk("考公务员");
if(宝宝状态 == 成家)
printk("非诚勿扰");
return OK;
} 回复【5楼】XA144F
----------------------------------------------------------------------- 不错的帖子 爸妈不同意还飞奔领证?? 回复【4楼】bbs2009
能用中文作 变量名,或函数名吗 ?
否则神马都是浮云,逗乐而已。
lz 的可以吗?
-----------------------------------------------------------------------
支持unicode的话就可以.下面的程序刚刚在c++builder2010中测试过.
void 函数_1(String *str)
{
*str = "字符串" ;
}
void __fastcall TForm1::btn1Click(TObject *Sender)
{
String 变量;
函数_1(&变量) ;
ShowMessage(变量);
} 有意思! 有意思的帖子。 make:“幸福一家”.....error! build failed! 有意思~ 有意思 见识了 struct 我们幸福一家
{
struct cdev;
int 家庭核心;
int 我得私有;
int 你得私有;
int 家庭宝贝;
spinlock_t 我的心锁;
}
加把心锁,我是你的,只有你才拥有我。 没有对象的飘过 回复【2楼】lengshuicha 冷水茶
靠,这个程序有一个最大的bug,无main函数呢。----也许是我眼花,没有看见。
-----------------------------------------------------------------------
回复【3楼】snkaka 卡卡
回复【2楼】lengshuicha冷水茶
靠,这个程序有一个最大的bug,无main函数呢。----也许是我眼花,没有看见。
-----------------------------------------------------------------------
linux driver module模式 就是这个样子,没有main,内核是一个大的main,driver作为一个module
插入到内核
-----------------------------------------------------------------------
回复【13楼】simon51 白脸
make:“幸福一家”.....error! build failed!
-----------------------------------------------------------------------
回复【15楼】bbs2009
回【9楼】 hyz_avr
支持unicode的话就可以.下面的程序刚刚在c++builder2010中测试过.
-------------------------------------------------------------
长见识了。
我试过 qt+gcc4.4.0不行。
-----------------------------------------------------------------------
额 都说了我就不用说了! 有才 不过人生要是能写成程序来运行 我还是希望跑飞的好 要不就是循环到死 。。
页:
[1]