linux内核常用函数或宏
生活随笔
收集整理的這篇文章主要介紹了
linux内核常用函数或宏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. simple_strtoul
? ? 用于將字符串轉換為無符號長整數,第3個參數10意味著轉換方式是10進制。
ival = simple_strtoul(buffer, NULL, 10);
2.?大部分體系結構把BUG()和BUG_ON()定義成某種非法操作,這樣自然會產生需要的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中,在條件不滿足時輸出oops。需要linux 內核開啟General setup->Configure standard kernel features->BUG() support。
有些時候,你只是需要在終端上打印一下棧的回溯信息來幫助你測試。此時可以使用dump_stack()。它只在終端上打印寄存器上下文和函數的跟蹤線索:
if (!debug_check) {printk(KERN_DEBUG "provide some information.../n");dump_stack(); }?
轉載于:https://www.cnblogs.com/embedded-linux/p/6538973.html
總結
以上是生活随笔為你收集整理的linux内核常用函数或宏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些基本数据类型的类封装(包装类)
- 下一篇: yafeilinux.com的开源项目非