
Linux
文章平均质量分 54
风流网民
这个作者很懒,什么都没留下…
展开
-
Qt环境下C++和C语言混合编程问题
本人因为一直在C语言环境下开发,偶尔因为项目需要集成下Qt环境,最近遇到一个问题是在Qt环境下按C语言常规思路调用C库里的函数,Qt总是报找不到库函数错误,后来发现是C++和C语言混合编程时,函数定义有差异导致的。但在C++里调用的时候,C++编译器会为了重载等方面的考虑而改变函数名。解决办法就是在Qt环境下使用extern "C"修饰符。nm C库,能找到是实现了的函数名test,这就导致Qt找不到C库函数。比如C库下是实现的函数名为。原创 2023-04-14 10:54:36 · 1107 阅读 · 0 评论 -
Linux内核里的传输层数据流
Linux内核里的传输层数据流原创 2023-03-10 14:56:01 · 742 阅读 · 0 评论 -
Linux内核里的ixgb驱动代码走读
Linux内核里的ixgb驱动代码走读原创 2023-03-06 16:26:54 · 723 阅读 · 0 评论 -
main函数执行前执行和执行后执行
Linux C语言 main函数执行原创 2022-09-02 11:38:25 · 410 阅读 · 0 评论 -
通过NETLINK_KOBJECT_UEVENT捕获udev的uevent
测试代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <sys/un.h>#include <sys/ioctl.h>#include <sys/socket.h>#include <linux/types.h>#include <linux/netlink..原创 2022-04-15 09:59:21 · 1048 阅读 · 0 评论 -
Linux内核网络:实现与理论--介绍
Linux Kernel Networking: Implementation and Theory原创 2022-03-26 17:07:57 · 4150 阅读 · 0 评论 -
Linux内核网络:实现与理论 -- 目录
Linux Kernel Networking: Implementation and Theory (2014)https://apprize.best/linux/kernel/index.html对于我来说最好的学习就是翻译,☹目录:原创 2022-03-24 15:29:32 · 3394 阅读 · 0 评论 -
C语言的隐藏输入
使用libncurses.so实现隐藏输入,即用*掩盖终端输入密码明文原创 2021-10-19 13:54:27 · 2178 阅读 · 0 评论 -
libaio介绍和使用
libaio介绍和使用原创 2021-10-18 15:57:14 · 8051 阅读 · 0 评论 -
Dijkstra算法C语言测试
想研究Dijkstra算法,参考了这篇博客Dijkstra算法图文详解,但是这篇博文的代码部分写的不满意,所以自己写了个例子,记录一下。原创 2020-12-03 17:26:01 · 522 阅读 · 0 评论 -
用户态驱动UIO
加载uio驱动sudo modprobe uiosimple.c源代码#include <linux/module.h>#include <linux/platform_device.h>#include <linux/uio_driver.h>#include <linux/slab.h>struct uio_info kpart_info = { .name = "kpart", .version = "0.1", .irq原创 2020-09-22 19:48:57 · 279 阅读 · 1 评论 -
PCI驱动程序例子
#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/signal.h>#include <linux/init.h>#include <linux/cdev.h>#include <linux/delay.h>#include <linux/poll.h>#include &.原创 2020-09-20 20:03:55 · 712 阅读 · 0 评论 -
protobuff示例程序
从github上获取git clone https://github.com/protocolbuffers/protobuf.git执行以下命令安装protobuf./autogen.sh./configuremakemake installlm.helloworld.proto里面内容syntax = "proto2";package lm;message helloworld{ required int32 id=1; required string原创 2020-05-27 09:00:35 · 179 阅读 · 0 评论 -
C语言实现双向链表操作
双向链表操作的主要实现在头文件里,实现简洁精炼,方便快速使用,不重复造轮子。原创 2020-05-23 15:43:52 · 163 阅读 · 0 评论 -
创建Linux Loopback文件系统
创建一个4G的数据文件,用来作为虚拟设备的载体Linux:~$ sudo dd if=/dev/zero of=./loopback.img bs=1M count=40964096+0 records in4096+0 records out4294967296 bytes (4.3 GB, 4.0 GiB) copied, 104.492 s, 41.1 MB/s刚创建的文件数...原创 2020-01-13 22:25:23 · 444 阅读 · 0 评论 -
Linux环境下通过ioctl设置默认网关
#include <errno.h>#include <stdio.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/ioctl.h>#include <net/route.h>#include <fcntl.h>#includ...原创 2019-04-28 22:46:02 · 1605 阅读 · 0 评论 -
netlink ARP table
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include FILE *ip4to6; char ipv4[INET_ADDRS转载 2017-11-22 15:53:03 · 1696 阅读 · 0 评论 -
SDN
SDN原创 2017-10-13 00:12:55 · 335 阅读 · 0 评论 -
读取CMOS内存中的时钟
一、CMOS内存信息详解 一般的PC/AT、286、386、486等微机均配有CMOS芯片,CMOS&127;芯片包含了一个实时钟 和64个字节的CMOS内存。在CMOS内存中,0-0DH为实时钟的有关信息,0E-&127;3FH包含 计算机的硬件配置信息,如常规内存的大小、扩展内存的大小、&127;软盘的类型、固定 盘的类型及其物理参数、显示器的类型等,这些参数与计算机能否正常工原创 2011-06-10 16:24:00 · 3409 阅读 · 0 评论 -
linux之守护进程
守护进程简介: 守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务转载 2011-09-04 21:29:28 · 867 阅读 · 0 评论 -
Linux之进程通信
一、共享内存:系统调用:shmget();当shmget()创建了一块新的共享内存后,返回一个可以用于引用该共享内存的shmid_ds数据结构的标识符。 原型:int shmget(key_t key,int size,int shmflg); 返回值:转载 2011-09-08 22:51:27 · 868 阅读 · 0 评论 -
嵌入式LINUX学习步骤
嵌入式学习步骤一:Linux 基础1、熟悉:①安装Linux 操作系统②Linux 启动过程详解③Linux 文件系统④Linux 常用命令2、认识:①Linux 服务能够独立安装②Linux 操作系统能够熟练使用③Linux 的基本命令3、设置:①Linux 的转载 2011-08-22 12:56:15 · 1198 阅读 · 0 评论 -
《linux设备驱动开发详解》上的globalmem字符设备驱动程序
#include #include #include #include #include #include #include #include #include #include #include #define GLOBALMEM_SIZE 0x1000#define MEM_CLEAR 0x1#define GLOBALMEM_MAJOR 254static int转载 2011-11-15 22:01:29 · 1070 阅读 · 0 评论 -
函数调用约定stdcall cdecl fastcall thiscall naked call
在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传转载 2011-11-20 22:31:06 · 935 阅读 · 0 评论 -
《Linux设备驱动开发详解上的秒字符设备》定时中断
内核定时器编程实质上,时钟中断处理程序执行Update_process_timers()函数,该函数调用run_local_timers()函数,这个函数处理TIMER_SOFTIRQ软中断,运行当前处理器上到期的所有定时器。Linux内核所提供的用于操作定时器的数据结构和函数如下:1、time_list //在linux内核中,time_list结构体的一个实例对应一个定原创 2012-04-10 13:01:14 · 1316 阅读 · 0 评论 -
linux顶半部和底半部中断机制
//tasklet使用模板/*定义tasklet和底半部函数相关联*/void xxx_do_tasklet(unsigned long);DECLARE_TASKLET(xxx_tasklet,xxx_do_tasklet,0);/*中断处理底半部*/void xxx_do_tasklet(unsigned long){ ............}/*中断处理顶半部*/ir原创 2012-04-24 21:09:44 · 4024 阅读 · 1 评论 -
linux字符设备模型
//字符设备的结构体struct xxx_dev_t{ struct cdev cdev; ...........}xxx_dev;//字符设备模块的加载和卸载函数static int __init xxx_init(void){ ....... /*初始化cdev*/ cdev_init(&xxx_dev.cdev,&xxx_fops); xxx_dev.owner=T原创 2012-04-15 22:27:48 · 913 阅读 · 0 评论 -
虚拟网络驱动程序snull,《Linux Device Driver》上的
snull.c文件#include #include #include #include #include #include /* printk() */#include /* kmalloc() */#include /* error codes */#include /* size_t */#include /* mark_bh */#include原创 2012-05-12 18:14:24 · 3292 阅读 · 0 评论 -
platform_device和platform_driver
首先介绍一下注册一个驱动的步骤:1、定义一个platform_driver结构2、初始化这个结构,指定其probe、remove等函数,并初始化其中的driver变量3、实现其probe、remove等函数看platform_driver结构,定义于include/linux/platform_device.h文件中:struct platform_driver转载 2012-05-14 09:36:12 · 710 阅读 · 0 评论 -
Program Libraries
ProgramLibraries主要分为三大类,staticlibrary,sharedlibrary和dynamicallyloadedlibrary.原创 2012-07-11 19:30:54 · 1146 阅读 · 0 评论 -
在S3C6410开发板上的LED驱动程序
这两天写了个LED驱动程序,网上也看了好多的帖子。开始思路很清晰了,就是先看电路图,发现LED灯是接在GPM端口上的,然后看S3C6410数据手册,先向GPMCON口写命令字,让GPM0-5设置为输出,再向GPMDAT口写数据字,在GPM0-5引脚拉低或拉高电平,从而控制LED的亮灭。1、电路图很显然LED灯是接在GPM口引脚下面的2、数据手册3、L原创 2012-03-23 16:21:30 · 6607 阅读 · 3 评论 -
INI file and Iniparser
ini介绍和开源库应用原创 2013-03-03 15:33:32 · 3273 阅读 · 1 评论 -
CDN
CDN转载 2017-10-12 22:09:02 · 213 阅读 · 0 评论 -
Linux系统启动过程
Linux系统启动过程原创 2011-05-23 19:50:00 · 884 阅读 · 0 评论