linux内核常用函数或宏
生活随笔
收集整理的這篇文章主要介紹了
linux内核常用函数或宏
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. simple_strtoul
? ? 用于將字符串轉(zhuǎn)換為無(wú)符號(hào)長(zhǎng)整數(shù),第3個(gè)參數(shù)10意味著轉(zhuǎn)換方式是10進(jìn)制。
ival = simple_strtoul(buffer, NULL, 10);
2.?大部分體系結(jié)構(gòu)把BUG()和BUG_ON()定義成某種非法操作,這樣自然會(huì)產(chǎn)生需要的oops。
#ifndef HAVE_ARCH_BUG #define BUG() do { \printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \panic("BUG!"); \ } while (0) #endif#ifndef HAVE_ARCH_BUG_ON #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0) #endif定義在include/asm-generic/bug.h中,在條件不滿足時(shí)輸出oops。需要linux 內(nèi)核開啟General setup->Configure standard kernel features->BUG() support。
有些時(shí)候,你只是需要在終端上打印一下棧的回溯信息來(lái)幫助你測(cè)試。此時(shí)可以使用dump_stack()。它只在終端上打印寄存器上下文和函數(shù)的跟蹤線索:
if (!debug_check) {printk(KERN_DEBUG "provide some information.../n");dump_stack(); }?
轉(zhuǎn)載于:https://www.cnblogs.com/embedded-linux/p/6538973.html
總結(jié)
以上是生活随笔為你收集整理的linux内核常用函数或宏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些基本数据类型的类封装(包装类)
- 下一篇: yafeilinux.com的开源项目非