Lines Matching +full:hall +full:- +full:enable
1 .. include:: ../disclaimer-zh_CN.rst
3 :Original: :ref:`Documentation/process/coding-style.rst <codingstyle>`
32 --------------
50 .. code-block:: c
71 .. code-block:: c
86 ------------------------------
99 ------------------------------
105 .. code-block:: c
113 .. code-block:: c
128 .. code-block:: c
142 .. code-block:: c
145 body of do-loop
150 .. code-block:: c
168 .. code-block:: c
175 .. code-block:: c
184 .. code-block:: c
209 .. code-block:: c
215 .. code-block:: c
222 .. code-block:: c
230 = + - < > * / % | & ^ <= >= == != ? :
234 & * + - ~ ! sizeof typeof alignof __attribute__ defined
238 ++ --
242 ++ --
244 ``.`` 和 ``->`` 结构体成员操作符前后不加空格。
257 ------------------------------
259 C 是一个简朴的语言,你的命名也应该这样。和 Modula-2 和 Pascal 程序员不同,
283 -----------
289 .. code-block:: c
297 .. code-block:: c
357 ------------------------------
379 .. code-block:: c
392 ------------------------------
407 - 无条件语句容易理解和跟踪
408 - 嵌套程度减小
409 - 可以避免由于修改时忘记更新个别的退出点而导致错误
410 - 让编译器省去删除冗余代码的工作 ;)
412 .. code-block:: c
421 return -ENOMEM;
438 .. code-block:: c
441 kfree(foo->bar);
448 .. code-block:: c
451 kfree(foo->bar);
460 ------------------------------
471 当注释内核 API 函数时,请使用 kernel-doc 格式。请看
472 Documentation/doc-guide/ 和 scripts/kernel-doc 以获得详细信息。
476 .. code-block:: c
479 * This is the preferred style for multi-line
484 * with beginning and ending almost-blank lines.
489 .. code-block:: c
495 * but there is no initial almost-blank line.
504 ------------------------------
514 .. code-block:: none
516 (defun c-lineup-arglist-tabs-only (ignored)
518 (let* ((anchor (c-langelem-pos c-syntactic-element))
519 (column (c-langelem-2nd-pos c-syntactic-element))
520 (offset (- (1+ column) anchor))
521 (steps (floor offset c-basic-offset)))
523 c-basic-offset)))
525 (dir-locals-set-class-variables
526 'linux-kernel
527 '((c-mode . (
528 (c-basic-offset . 8)
529 (c-label-minimum-indentation . 0)
530 (c-offsets-alist . (
531 (arglist-close . c-lineup-arglist-tabs-only)
532 (arglist-cont-nonempty .
533 (c-lineup-gcc-asm-reg c-lineup-arglist-tabs-only))
534 (arglist-intro . +)
535 (brace-list-intro . +)
536 (c . c-lineup-C-comments)
537 (case-label . 0)
538 (comment-intro . c-lineup-comment)
539 (cpp-define-intro . +)
540 (cpp-macro . -1000)
541 (cpp-macro-cont . +)
542 (defun-block-intro . +)
543 (else-clause . 0)
544 (func-decl-cont . +)
546 (inher-cont . c-lineup-multi-inher)
547 (knr-argdecl-intro . 0)
548 (label . -1000)
550 (statement-block-intro . +)
551 (statement-case-intro . +)
552 (statement-cont . +)
555 (indent-tabs-mode . t)
556 (show-trailing-whitespace . t)
559 (dir-locals-set-directory-class
560 (expand-file-name "~/src/linux-trees")
561 'linux-kernel)
563 这会让 emacs 在 ``~/src/linux-trees`` 下的 C 源文件获得更好的内核代码风格。
571 指定选项 ``-kr -i8`` (代表 ``K&R,8 字符缩进``),或使用 ``scripts/Lindent``
579 ------------------------------
589 Enable auditing infrastructure that can be used with another
591 logging of avc messages output). Does not do system-call
602 要查看配置文件的完整文档,请看 Documentation/kbuild/kconfig-language.rst。
606 ------------------------------
630 ------------------------------
634 .. code-block:: c
644 含有多个语句的宏应该被包含在一个 do-while 代码块里:
646 .. code-block:: c
658 .. code-block:: c
663 return -EBUGGERED; \
671 .. code-block:: c
684 .. code-block:: c
691 .. code-block:: c
700 ret 是本地变量的通用名字 - __foo_ret 更不容易与一个已存在的变量冲突。
707 ------------------------------
728 许多子系统拥有 Kconfig 调试选项来开启 -DDEBUG 在对应的 Makefile 里面;在其他
734 ------------------------------
742 .. code-block:: c
755 .. code-block:: c
761 .. code-block:: c
769 ------------------------------
790 ------------------------------
793 的一个值可以表示为一个错误代码整数 (-Exxx=失败,0=成功) 或者一个 ``成功``
804 -EBUSY。类似的,因为 ``PCI device present`` 是一个判断,所以 pci_dev_present()
816 ------------------------------
821 .. code-block:: c
827 .. code-block:: c
829 #define sizeof_field(t, f) (sizeof(((t*)0)->f))
837 --------------------------------------------------
842 .. code-block:: c
844 -*- mode: c -*-
848 .. code-block:: c
852 compile-command: "gcc -DMAGIC_DEBUG_FLAG foo.c"
858 .. code-block:: c
868 ------------------------------
887 .. code-block:: c
895 ------------------------------
899 使用,再给 #else 提供一个空桩 (no-op stub) 版本,然后在 .c 文件内无条件地调用
914 .. code-block:: c
928 .. code-block:: c
936 -------------------
940 Prentice Hall, Inc., 1988.
941 ISBN 0-13-110362-8 (软皮), 0-13-110370-9 (硬皮).
945 Addison-Wesley, Inc., 1999.
946 ISBN 0-201-61586-X.
948 GNU 手册 - 遵循 K&R 标准和此文本 - cpp, gcc, gcc internals and indent,
951 WG14 是 C 语言的国际标准化工作组,URL: http://www.open-std.org/JTC1/SC22/WG14/
953 Kernel process/coding-style.rst,作者 greg@kroah.com 发表于 OLS 2002: