- 博客(24)
- 收藏
- 关注
转载 IO内存
1)cat /proc/iomem看到的内容:IO memory空间的地址资源分配情况,以树状结构显示。request_mem_regionioremap 2)cat /proc/ioports看到的内容IO port空间的地址资源分配情况,以树状结构显示。[源于x86平台的设计思想,目前基本不用了]request_regionioremap
2013-09-17 16:48:43
832
转载 IO端口和IO内存
A.几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。
2013-09-17 14:53:43
544
转载 linux中的 IO端口映射和IO内存映射【转】
CPU地址空间(一)地址的概念1)物理地址:CPU地址总线传来的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上 (如显存、BIOS等)。在程序指令中的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放到CPU的地址线上。 物理地址空间,一部分给物理RAM(内存)用,一部分给总线用,
2013-09-17 14:44:01
632
转载 IORESOURCE_IO和IORESOURCE_MEM
内核中有很多资源,但属于IO资源的有:#define IORESOURCE_IO 0x00000100 /* Resource type */#define IORESOURCE_MEM 0x00000200#define IORESOURCE_IRQ 0x00000400#define IORESOURCE_DMA 0
2013-09-17 14:18:22
5688
转载 文件和路径名称获取
1. getcwd 获取当前工作目录: UNIX C函数。相关函数:get_current_dir_name, getwd, chdir头文件:#include 定义函数:char * getcwd(char * buf, size_t size);函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间
2013-09-05 14:48:53
488
原创 Minigui学习--font
1.字体结构体定义:/** The logical font structure. */typedef struct _LOGFONT { /** The type of the logical font. */ char type [LEN_FONT_NAME + 1]; /** The family name of the logical font. */
2013-09-05 11:06:06
1459
原创 Minigui学习--icon
icon类型:HICON定义在/minigui/gdi.h文件中1.创建icon/** * \fn HICON GUIAPI CreateIconEx (HDC hdc, int w, int h, \ const BYTE* AndBits, const BYTE* XorBits, int colornum, \
2013-09-04 15:23:52
946
转载 字符串转为float,int,double类型
1. 函数名: atof功 能: 把字符串转换成浮点数表头文件 #include 定义函数 double atof(const char *nptr);函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示
2013-09-04 14:39:53
4055
原创 Minigui学习--窗口用到的一些函数
1.获取和设置窗口额外数据:MG_EXPORT DWORD GUIAPI GetWindowAdditionalData (HWND hWnd);/** * \fn DWORD GUIAPI GetWindowAdditionalData (HWND hWnd) * \brief Retrives the first additional data of a window. *
2013-09-04 14:18:34
1515
原创 Minigui学习--光标
1.系统光标类型定义:在../minigui/minigui.h文件中定义#define MAX_SYSCURSORINDEX 22/* System cursor index. *//** System arrow cursor index. */#define IDC_ARROW 0/** System beam cursor index. */#de
2013-09-03 15:08:54
1454
原创 Minigui学习--画不同图形
1.画直线(1)将画笔移动到线的起始点:MG_EXPORT void GUIAPI MoveTo (HDC hdc, int x, int y);:moves the current pen position of the DC \a hdc to \a (x,y).The next line or other pen drawing operation will start from t
2013-09-02 17:47:50
2385
原创 Minigui学习--DC
1.相关函数:MG_EXPORT HDC GUIAPI GetDC (HWND hwnd); //gets a window DC of the specified \a hwnd, and returns the handle to the DC. MiniGUI will try to return an unused DC from the internal DC pool, rath
2013-09-02 11:29:13
1395
原创 Minigui学习---鼠标获取和坐标在不同区域转换
(1)设置鼠标的所在的Wnd:函数定义(window.h文件中定义的):MG_EXPORT HWND GUIAPI GetCapture(void); //Retrives the handle to the window (if any) that has captured the mouse.return The handle to the window that has captur
2013-08-30 11:17:36
1416
原创 Minigui学习--RECT
1.RECT(1)定义:在common.h文件中有如下定义:typedef struct _RECT{ /** * The x coordinate of the upper-left corner of the rectangle. */ int left; /** * The y coordinate of th
2013-08-29 14:43:56
992
原创 Minigui学习---字符集
(1)获取系统的字符集:const char* sys_charset = GetSysCharset (TRUE);解析:此接口在/usr/local/include/gdi.h文件中定义,原型如下:/** * \fn const char* GUIAPI GetSysCharset (BOOL wchar) * \brief Gets the current syste
2013-08-29 14:19:21
1166
原创 Minigui学习--MAINWINCREATE 结构体
1.介绍:hMainWnd = CreateMainWindow (&CreateInfo); 每个MiniGUI 应用程序的初始界面一般都是一个主窗口,你可以通过调用CreateMainWindow函数来创建一个主窗口,其参数是一个指向MAINWINCREATE 结构的指针,本例中就是CreateInfo,返回值为所创建主窗口的句柄。MAINWINCREATE 结构描述一个主窗口的
2013-08-29 11:23:10
1947
转载 Minigui学习--MiniGUI的三种运行模式
MiniGUI 针对三种运行模式分别定义了不同的宏。 (1) MiniGUI-Threads: _MGRM_THREADS (2) MiniGUI-Processes: _MGRM_PROCESSES 和_LITE_VERSION (3) MiniGUI-Standalone : _MGRM_STANDALONE 和 _LITE_VERSION 和_STAND_ALONE
2013-08-28 17:45:07
2705
转载 用valgrind检测glib的内存错误
前段时间我们发现一个daemon总是随机的crash,对于这种随机的crash的BUG,我们自然会想到是内存越界问题引起的。但是用valgrind检测却没有发现任何错误,那部分代码比较复杂,结果花了几天也没有发现任何线索。后来,我想起glib里有自己的内存管理机制,通过glib分配的内存是glib自己管理的,valgrind只是重载glibc的内存管理函数,它根本不知道glib的存在,因此glib
2013-08-22 17:49:40
890
转载 设置glib的log级别
glib提供了一系列的log函数,像g_message、g_critical、g_warning、g_debug和g_error等,可以根据信息的类别调用不同的函数。 在我们的程序中,为了调试方便,很多地方调了g_debug,结果程序运行起来后,终端上的信息打印得眼花缭乱,不但影响性能,而且把真正有用的信息淹没掉了。 Glib既然提供了log级别,自然可以按log
2013-08-22 17:46:54
1853
转载 glib 介绍
glib用户手册:http://gtk-doc-cn.googlecode.com/svn/docs/glib/index.htmlhttp://lserv.deg.gubkin.ru/docs/glib/index.html GLib是一个跨平台的、用C语言编写的库,起初是GTK+的一部分,但到了GTK+第二版,开发者决定把跟图形界面无关的代码分开,这些代码于是就组装成了GLib
2013-08-22 10:54:12
755
转载 glib 哈希表学习(2)
1:哈希表原型 GHashTable* g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func); GHashTable* g_hash_table_new_full (GHas
2013-08-22 10:51:15
928
转载 glib中的哈希表学习(1)
哈希表 是一类容器,也称为“映射”、“联合数组(associative array)” 或者“目录(dictionary)”。正如语文辞典使用一个定义来关联一个词,哈希表使用一个 键(key) 来唯一标识一个 值(value)。哈希表可以根据键非常快速地执行插入、查找和删除操作;实际上,如果使用得当,这些可以都是常数时间 —— 也就是 O(1) —— 操作。这比从一个有序列表中查找或删除条
2013-08-22 10:36:55
641
转载 GLib常用函数简介
如果在程序中要使用到glib库中的函数,则应该包含glib.h头文件(在gtk.h和gnome.h头文件中已经包含了glib.h了)1 类型定义1. 整数类型:gint8、guint8、gint16、guint16、gint31、guint32、gint64、guint64。不是所有的平台都提供64位整型 2. 整数类型gshort、glong、gint和short、long、
2013-08-22 10:26:27
6863
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人