Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

thụt lề - Trực tuyến trên đám mây

Chạy thụt lề trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là thụt lề lệnh có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi, chẳng hạn như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


thụt lề - thay đổi giao diện của chương trình C bằng cách chèn hoặc xóa khoảng trắng.

SYNOPSIS


lịnh sung công [tùy chọn] [tệp đầu vào]

lịnh sung công [tùy chọn] [single-input-file] [-o output-file]

lịnh sung công --phiên bản

MÔ TẢ


Trang người đàn ông này được tạo từ tệp thụt lề.texinfo. Đây là phiên bản của "The lịnh sung công
Hướng dẫn sử dụng ", dành cho Phiên bản thụt lề, được cập nhật lần cuối.

Sản phẩm lịnh sung công chương trình có thể được sử dụng để làm cho mã dễ đọc hơn. Nó cũng có thể chuyển đổi từ một
phong cách viết C sang kiểu khác.

lịnh sung công hiểu một số lượng đáng kể về cú pháp của C, nhưng nó cũng cố gắng
đối phó với cú pháp không đầy đủ và sai định dạng.

Trong phiên bản 1.2 và các phiên bản mới hơn, kiểu thụt lề GNU là mặc định.

LỰA CHỌN


-xấu, --blank-lines-after-khai báo
Buộc các dòng trống sau khi khai báo.
Xem CHỖ TRỐNG NGÀNH NGHỀ.

-bap, --blank-lines-after-procedure
Buộc các dòng trống sau phần thân thủ tục.
Xem CHỖ TRỐNG NGÀNH NGHỀ.

-bbb, --blank-lines-trước-block-bình luận
Buộc dòng trống trước khi chặn nhận xét.
Xem CHỖ TRỐNG NGÀNH NGHỀ.

-bbo, --break-before-boolean-toán tử
Thích ngắt dòng dài trước toán tử boolean.
Xem BREAKING DÀI NGÀNH NGHỀ.

-bc, --blank-dòng-sau-dấu phẩy
Buộc dòng mới sau dấu phẩy trong khai báo.
Xem KHAI BÁO.

-bl, --dấu ngoặc-sau-if-line
Đặt niềng răng thẳng hàng sau if, Vv
Xem CÁC CÂU LỆNH.

-blf, --braces-after-func-def-line
Đặt dấu ngoặc nhọn vào dòng sau dòng định nghĩa hàm.
Xem KHAI BÁO.

-blin, --brace-thụt lền
Niềng răng thụt vào trong n khoảng trống.
Xem CÁC CÂU LỆNH.

-bls, --braces-after-struct-statement-line
Đặt dấu ngoặc nhọn vào hàng sau cấu trúc các dòng khai báo.
Xem KHAI BÁO.

-br, --braces-on-if-line
Đặt niềng răng thẳng hàng với if, Vv
Xem CÁC CÂU LỆNH.

-brf, --braces-on-func-def-line
Đặt dấu ngoặc nhọn trên đường định nghĩa của hàm.
Xem KHAI BÁO.

-brs, --braces-on-struct-statement-line
Đeo niềng răng vào cấu trúc dòng khai báo.
Xem KHAI BÁO.

-b, --Bill-Shannon, --blank-trước-sizeof
Đặt một khoảng trống giữa kích thước và lập luận của nó.
Xem CÁC CÂU LỆNH.

-cn, - thụt đầu dòngn
Đặt nhận xét ở bên phải mã trong cột n.
Xem GÓP Ý.

-cbin, - dấu ngoặc nhọn-thụt đầu dòngn
Dấu ngoặc nhọn sau một nhãn chữ hoa N dấu cách.
Xem CÁC CÂU LỆNH.

-CDn, --dec Tuyên bố-nhận xét-cộtn
Đặt nhận xét ở bên phải của các khai báo trong cột n.
Xem GÓP Ý.

-cdb, --comment-delimiters-on-blank-lines
Đặt dấu phân cách nhận xét trên các dòng trống.
Xem GÓP Ý.

-cdw, --cuddle-do-trong khi
Ôm ấp trong khi do {} trong khi; và trước '}'.
Xem GÓP Ý.

-cái này, --cuddle-khác
Ôm người khác và trước '}'.
Xem GÓP Ý.

-cái nàyn, - tiếp tục-thụt lền
Thụt lề tiếp tục của n khoảng trống.
Xem CÁC CÂU LỆNH.

-clin, - thụt đầu dòng chữ hoan
Thụt lề nhãn trường hợp của n khoảng trống.
Xem CÁC CÂU LỆNH.

-cpn, --else-endif-cộtn
Đặt nhận xét ở bên phải của #khác#endif câu lệnh trong cột n.
Xem GÓP Ý.

-cs, --space-sau khi truyền
Đặt một dấu cách sau một toán tử ép kiểu.
Xem CÁC CÂU LỆNH.

-dn, - dòng-comment-thụt lền
Đặt thụt lề các nhận xét không ở bên phải mã thành n khoảng trống.
Xem GÓP Ý.

-bfda, --break-chức năng-tuyên bố-args
Ngắt dòng trước tất cả các đối số trong một khai báo.
Xem KHAI BÁO.

-bfde, --break-chức năng-tuyên bố-args-end
Ngắt dòng sau đối số cuối cùng trong một khai báo.
Xem KHAI BÁO.

-dj, --left-justify-tuyên bố
Nếu -cd 0 được sử dụng thì các chú thích sau khi khai báo sẽ được căn chỉnh phía sau
tờ khai.
Xem KHAI BÁO.

-dun, - khai báo-thụt lền
Đặt các biến trong cột n.
Xem KHAI BÁO.

-fc1, - định dạng-đầu tiên-cột-nhận xét
Định dạng nhận xét trong cột đầu tiên.
Xem GÓP Ý.

-fca, - định dạng-tất cả-nhận xét
Đừng tắt tất cả các định dạng của nhận xét.
Xem GÓP Ý.

- linh dương đầu bò, --gnu-phong cách
Sử dụng kiểu mã GNU. Đây là mặc định.
Xem CHUNG PHONG CÁCH.

-hnl, --danh dự-newlines
Thích ngắt dòng dài ở vị trí của dòng mới trong đầu vào.
Xem BREAKING DÀI NGÀNH NGHỀ.

-in, - cấp trung tâmn
Đặt mức thụt lề thành n khoảng trống.
Xem THỤT LƯNG.

-anh tan, --indent-nhãnn
Đặt độ lệch cho nhãn thành cột n.
Xem THỤT LƯNG.

-ipn, --thụt tham sốn
Thụt lề các loại tham số trong định nghĩa hàm kiểu cũ bằng n khoảng trống.
Xem THỤT LƯNG.

-kr, --k-và-r-kiểu
Sử dụng kiểu mã hóa Kernighan & Ritchie.
Xem CHUNG PHONG CÁCH.

-ln, - chiều dài dòngn
Đặt độ dài dòng tối đa cho các dòng không phải nhận xét thành n.
Xem BREAKING DÀI NGÀNH NGHỀ.

-lcn, --ment-line-lengthn
Đặt độ dài dòng tối đa để định dạng nhận xét thành n.
Xem GÓP Ý.

-Linux, - phong cáchlinux
Sử dụng kiểu mã hóa Linux.
Xem CHUNG PHONG CÁCH.

-lp, --continue-at-ngoặc
Xếp các dòng tiếp theo trong dấu ngoặc đơn.
Xem THỤT LƯNG.

-lp, --leave-prerocessor-space
Để khoảng trống giữa '#' và chỉ thị tiền xử lý.
Xem THỤT LƯNG.

-nbad, --không-trống-dòng-sau-khai báo
Không buộc các dòng trống sau khi khai báo.
Xem CHỖ TRỐNG NGÀNH NGHỀ.

-nbap, --không-trống-dòng-sau-thủ tục
Không buộc các dòng trống sau phần thân thủ tục.
Xem CHỖ TRỐNG NGÀNH NGHỀ.

-nbbo, --break-after-boolean-toán tử
Không thích ngắt dòng dài trước các toán tử boolean.
Xem BREAKING DÀI NGÀNH NGHỀ.

-nbc, --không-trống-dòng-sau dấu phẩy
Không buộc dòng mới sau dấu phẩy trong khai báo.
Xem KHAI BÁO.

-nbfda, --dont-break-function-dec-args
Đừng đặt mỗi đối số trong một khai báo hàm trên một dòng riêng biệt.
Xem KHAI BÁO.

-ncdb, --không-chú-thích-phân-cách-trên-dòng-trống
Không đặt dấu phân cách nhận xét trên các dòng trống.
Xem GÓP Ý.

-ncdw, - không-ôm-ấp-do-trong khi
Đừng ôm ấp }trong khi của một do {} trong khi;.
Xem CÁC CÂU LỆNH.

-nce, - không-ôm-ấp-khác
Đừng ôm ấp }khác.
Xem CÁC CÂU LỆNH.

-ncs, - không có dấu cách-sau-phôi
Không đặt khoảng trắng sau các toán tử ép kiểu.
Xem CÁC CÂU LỆNH.

-ndjn, --dont-left-justify-tuyên bố
Các bình luận sau khi khai báo được coi như các bình luận sau các câu lệnh khác.
Xem KHAI BÁO.

-nfc1, --dont-format-cột-bình luận đầu tiên
Không định dạng nhận xét trong cột đầu tiên như bình thường.
Xem GÓP Ý.

-nfca, --dont-format-bình luận
Không định dạng bất kỳ bình luận nào.
Xem GÓP Ý.

-nhnl, --ignore-dòng mới
Không thích ngắt dòng dài ở vị trí của dòng mới trong đầu vào.
Xem BREAKING DÀI NGÀNH NGHỀ.

-níp, - không có tham số-thụt lề
Thụt lề độ rộng bằng không cho các tham số.
Xem THỤT LƯNG.

-nlp, --dont-line-up-ngoặc
Không xếp hàng trong ngoặc đơn.
Xem CÁC CÂU LỆNH.

-npc, --không-dấu cách-sau-chức-năng-gọi-tên
Không đặt dấu cách sau hàm trong các lệnh gọi hàm.
Xem CÁC CÂU LỆNH.

-nprs, - không có dấu cách-sau dấu ngoặc đơn
Không đặt dấu cách sau mỗi '(' và trước mỗi ')'.
Xem CÁC CÂU LỆNH.

-npsl, --dont-break-loại thủ tục
Đặt kiểu của một thủ tục trên cùng một dòng với tên của nó.
Xem KHAI BÁO.

-safé, - không có dấu cách-sau-cho
Không đặt một khoảng trống sau mỗi cho.
Xem CÁC CÂU LỆNH.

-nsai, - không có dấu cách-sau-nếu
Không đặt một khoảng trống sau mỗi if.
Xem CÁC CÂU LỆNH.

-saw, - không có khoảng cách-sau-thời gian
Không đặt một khoảng trống sau mỗi trong khi.
Xem CÁC CÂU LỆNH.

-nsc, --dont-star-bình luận
Không đặt ký tự '*' ở bên trái nhận xét.
Xem GÓP Ý.

-nsob, --leave-option-blank-lines
Không nuốt các dòng trống tùy chọn.
Xem CHỖ TRỐNG NGÀNH NGHỀ.

-nss, - không-dấu cách-đặc biệt-dấu chấm phẩy
Không buộc một khoảng trắng trước dấu chấm phẩy sau một số câu lệnh nhất định. Tắt '-ss'.
Xem CÁC CÂU LỆNH.

-hạt, - không có tab
Sử dụng dấu cách thay vì tab.
Xem THỤT LƯNG.

-nv, - không tiết
Tắt chế độ tiết.
Xem KHÁC LỰA CHỌN.

-nguồn gốc, --nguyên bản
Sử dụng kiểu mã Berkeley ban đầu.
Xem CHUNG PHONG CÁCH.

-npro, --ignore-hồ sơ
Không đọc các tệp '.indent.pro'.
Xem KÊU GỌI thụt lề.

-cái, - khoảng cách-sau-thủ tục-cuộc gọi
Chèn một khoảng trắng giữa tên của thủ tục được gọi và dấu '('.
Xem CÁC CÂU LỆNH.

-số Pin, - thụt đầu dòngn
Chỉ định thụt lề thừa cho mỗi dấu ngoặc đơn mở '(' khi một câu lệnh bị hỏng. Xem
CÁC CÂU LỆNH.

-pmt, --preserve-mtime
Duy trì thời gian truy cập và sửa đổi trên các tệp đầu ra. KHÁC LỰA CHỌN.

-ppin, - thụt lề bộ xử lýn
Chỉ định thụt lề cho các câu lệnh điều kiện của bộ tiền xử lý. THỤT LƯNG.

-prs, - dấu cách sau dấu ngoặc đơn
Đặt dấu cách sau mỗi '(' và trước mỗi ')'.
Xem CÁC CÂU LỆNH.

-psl, - tên-bắt-đầu-dòng
Đặt kiểu của một thủ tục trên dòng trước tên của nó.
Xem KHAI BÁO.

-saf, --dấu cách-sau-cho
Đặt một khoảng trống sau mỗi cho.
Xem CÁC CÂU LỆNH.

-sai, --dấu cách-sau-nếu
Đặt một khoảng trống sau mỗi if.
Xem CÁC CÂU LỆNH.

-cái cưa, --space-sau-trong khi
Đặt một khoảng trống sau mỗi trong khi.
Xem CÁC CÂU LỆNH.

-sbin, - cấu trúc-dấu ngoặc nhọn-thụt lền
Dấu ngoặc nhọn của một struct, union hoặc enum N dấu cách.
Xem CÁC CÂU LỆNH.

-sc, --start-left-side-of-comment
Đặt ký tự '*' ở bên trái nhận xét.
Xem GÓP Ý.

-nức nở, --swallow-option-blank-lines
Nuốt dòng trống tùy chọn.
Xem CHỖ TRỐNG NGÀNH NGHỀ.

-NS, - dấu cách-đặc-biệt-dấu chấm phẩy
Trên một dòng chotrong khi câu lệnh, buộc phải bỏ trống trước dấu chấm phẩy.
Xem CÁC CÂU LỆNH.

-NS, - đầu ra tiêu chuẩn
Ghi vào đầu ra tiêu chuẩn.
Xem KÊU GỌI thụt lề.

-T Giới thiệu lịnh sung công tên của các loại tên.
Xem KHAI BÁO.

-tn, --kích thước tabn
Đặt kích thước tab thành n khoảng trống.
Xem THỤT LƯNG.

-ngoài, - sử dụng tab
Sử dụng các tab. Đây là mặc định.
Xem THỤT LƯNG.

-v, --dài dòng
Bật chế độ tiết.
Xem KHÁC LỰA CHỌN.

-phiên bản
Xuất ra số phiên bản của lịnh sung công.
Xem KHÁC LỰA CHỌN.

KÊU GỌI thụt lề


Kể từ phiên bản 1.3, định dạng của lịnh sung công lệnh là:

thụt lề [lựa chọn] [tập tin đầu vào]

thụt lề [lựa chọn] [một đầu vào-tệp] [-O tập tin đầu ra]

Định dạng này khác với các phiên bản trước đó và các phiên bản khác của lịnh sung công.

Trong biểu mẫu đầu tiên, một hoặc nhiều tệp đầu vào được chỉ định. lịnh sung công tạo một bản sao lưu của
mỗi tệp và tệp gốc được thay thế bằng phiên bản thụt lề của nó. Nhìn thấy SAO LƯU CÁC TẬP TIN,
để được giải thích về cách thực hiện sao lưu.

Ở dạng thứ hai, chỉ một tệp đầu vào được chỉ định. Trong trường hợp này, hoặc khi tiêu chuẩn
đầu vào được sử dụng, bạn có thể chỉ định tệp đầu ra sau tùy chọn '-o'.

Gây ra lịnh sung công để ghi vào đầu ra tiêu chuẩn, hãy sử dụng tùy chọn '-st'. Điều này chỉ được phép
khi chỉ có một tệp đầu vào hoặc khi đầu vào chuẩn được sử dụng.

Nếu không có tệp đầu vào nào được đặt tên, thì đầu vào chuẩn được đọc để nhập. Ngoài ra, nếu một tên tệp
có tên '-' được chỉ định, sau đó đầu vào chuẩn được đọc.

Ví dụ: mỗi lệnh sau sẽ nhập chương trình 'slithy_toves.c' và
viết văn bản thụt lề vào 'slithy_toves.out':

thụt lề slithy_toves.c -o slithy_toves.out

indent -st slithy_toves.c> slithy_toves.out

mèo slithy_toves.c | thụt lề -o slithy_toves.out

Hầu hết các tùy chọn khác để lịnh sung công kiểm soát cách các chương trình được định dạng. Kể từ phiên bản 1.2,
lịnh sung công cũng nhận ra một tên dài cho mỗi tên tùy chọn. Các tùy chọn dài có tiền tố là
hoặc '-' hoặc '+'. ['+' đang được thay thế bằng '-' để duy trì tính nhất quán với
Tiêu chuẩn POSIX.]
Trong hầu hết tài liệu này, các tên ngắn, truyền thống được sử dụng cho ngắn gọn.
Xem TÙY CHỌN TÓM TẮT, để biết danh sách các tùy chọn, bao gồm cả tên dài và tên ngắn.

Đây là một ví dụ khác:

kiểm tra thụt lề -br / trao đổi chất.c -l85

Thao tác này sẽ thụt lề chương trình 'test /abol.c' bằng cách sử dụng các tùy chọn '-br' và '-l85', viết
đầu ra trở lại 'test /abol.c' và viết nội dung ban đầu của
'test /abol.c' vào một tệp sao lưu trong thư mục 'test'.

Các lệnh gọi tương đương sử dụng tên tùy chọn dài cho ví dụ này sẽ là:

thụt lề --braces-on-if-line --line-length185 kiểm tra / trao đổi chất.c

thụt lề + dấu ngoặc nhọn-on-if-line + line-length185 kiểm tra / trao đổi chất.c

Nếu bạn thấy rằng bạn thường sử dụng lịnh sung công với các tùy chọn tương tự, bạn có thể đặt các tùy chọn đó
vào một tệp có tên '.indent.pro'. lịnh sung công sẽ tìm kiếm một tệp hồ sơ ở ba nơi.
Đầu tiên nó sẽ kiểm tra biến môi trường INDENT_PROFILE. Nếu điều đó tồn tại, giá trị của nó là
dự kiến ​​đặt tên cho tệp sẽ được sử dụng. Nếu biến môi trường không tồn tại,
thụt lề tìm kiếm '.indent.pro' trong thư mục hiện tại
và sử dụng nếu được tìm thấy. Cuối cùng lịnh sung công sẽ tìm kiếm thư mục chính của bạn cho '.indent.pro'
và sử dụng tệp đó nếu nó được tìm thấy. Hành vi này khác với hành vi của các phiên bản khác
of lịnh sung công, sẽ tải cả hai tệp nếu cả hai đều tồn tại.

Định dạng của '.indent.pro' chỉ đơn giản là một danh sách các tùy chọn, giống như chúng sẽ xuất hiện trên
dòng lệnh, được phân tách bằng khoảng trắng (tab, dấu cách và dòng mới). Tùy chọn trong
'.indent.pro' có thể được bao quanh bởi các chú thích C hoặc C ++, trong trường hợp đó chúng bị bỏ qua.

Các công tắc dòng lệnh được xử lý sau khi xử lý '.indent.pro'. Các tùy chọn được chỉ định sau
ghi đè các đối số được chỉ định trước đó, với một ngoại lệ: Các tùy chọn được chỉ định rõ ràng
luôn ghi đè các tùy chọn nền (Xem CHUNG PHONG CÁCH). Bạn có thể ngăn chặn lịnh sung công từ
đọc tệp '.indent.pro' bằng cách chỉ định tùy chọn '-npro'.

SAO LƯU CÁC TẬP TIN


Kể từ phiên bản 1.3, GNU lịnh sung công tạo các tệp sao lưu kiểu GNU, giống như cách GNU Emacs làm.
Điều này có nghĩa là đơn giản or đánh số tên tệp sao lưu có thể được thực hiện.

Tên tệp sao lưu đơn giản được tạo bằng cách thêm hậu tố vào tên tệp gốc.
Mặc định cho hậu tố này là chuỗi một ký tự '~' (dấu ngã). Do đó, bản sao lưu
tệp cho 'python.c' sẽ là 'python.c ~'.

Thay vì mặc định, bạn có thể chỉ định bất kỳ chuỗi nào làm hậu tố bằng cách đặt môi trường
biến SIMPLE_BACKUP_SUFFIX thành hậu tố ưa thích của bạn.

Các phiên bản sao lưu được đánh số của tệp 'momeraths.c' trông giống như 'momeraths.c. ~ 23 ~', trong đó 23 là
phiên bản của bản sao lưu cụ thể này. Khi tạo một bản sao lưu được đánh số của tệp
'src / momeraths.c', tệp sao lưu sẽ có tên là 'src / momeraths.c. ~V~ ', ở đâu V là một
lớn hơn phiên bản cao nhất hiện có trong thư mục 'src'. Các
biến môi trường VERSION_WIDTH kiểm soát số lượng chữ số, sử dụng phần đệm số XNUMX bên trái
khi cần thiết. Ví dụ: đặt biến này thành "2" sẽ dẫn đến tệp sao lưu
được đặt tên là 'momeraths.c. ~ 04 ~'.

Loại tệp sao lưu được thực hiện được kiểm soát bởi giá trị của biến môi trường
KIỂM SOÁT PHIÊN BẢN. Nếu đó là chuỗi 'đơn giản', thì chỉ các bản sao lưu đơn giản sẽ được thực hiện. Nếu như
giá trị của nó là chuỗi 'được đánh số', sau đó các bản sao lưu được đánh số sẽ được thực hiện. Nếu giá trị của nó là
'đánh số-hiện có', sau đó các bản sao lưu được đánh số sẽ được thực hiện nếu có Đã tồn tại đánh số
sao lưu cho tệp đang được thụt lề; nếu không, một bản sao lưu đơn giản sẽ được thực hiện. Nếu như
KIỂM SOÁT PHIÊN BẢN không được thiết lập, sau đó lịnh sung công giả định hành vi 'tồn tại được đánh số'.

Các phiên bản khác của lịnh sung công sử dụng hậu tố '.BAK' để đặt tên cho các tệp sao lưu. Hành vi này có thể
được mô phỏng bằng cách cài đặt SIMPLE_BACKUP_SUFFIX thành '.BAK'.

Cũng lưu ý rằng các phiên bản khác của lịnh sung công tạo bản sao lưu trong thư mục hiện tại, thay vì
trong thư mục của tệp nguồn dưới dạng GNU lịnh sung công bây giờ không.

CHUNG PHONG CÁCH


Có một số kiểu mã C phổ biến, bao gồm kiểu GNU, Kernighan &
Phong cách Ritchie và phong cách Berkeley nguyên bản. Một kiểu có thể được chọn với một
lý lịch tùy chọn, chỉ định một tập hợp các giá trị cho tất cả các tùy chọn khác. Tuy vậy,
các tùy chọn được chỉ định rõ ràng luôn ghi đè các tùy chọn được bao hàm bởi một tùy chọn nền.

Kể từ phiên bản 1.2, kiểu mặc định của GNU lịnh sung công là kiểu GNU. Vì vậy, nó không phải là
còn cần thiết hơn để chỉ định tùy chọn '-gnu' để lấy định dạng này, mặc dù làm như vậy
sẽ không gây ra lỗi. Cài đặt tùy chọn tương ứng với kiểu GNU là:

-nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
-ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -nprs -psl -saf -sai
-saw -nsc -nsob

Kiểu mã GNU được dự án GNU ưa thích. Đó là phong cách mà GNU
Chế độ Emacs C khuyến khích và được sử dụng trong các phần C của GNU Emacs. (Mọi người
quan tâm đến việc viết chương trình cho Dự án GNU nên nhận được một bản sao của "Mã hóa GNU
Tiêu chuẩn ", cũng bao gồm các vấn đề về ngữ nghĩa và tính di động như sử dụng bộ nhớ,
kích thước của số nguyên, v.v.)

Phong cách Kernighan & Ritchie được sử dụng xuyên suốt cuốn sách nổi tiếng của họ "Lập trình C
Ngôn ngữ ". Nó được bật với tùy chọn '-kr'. Kiểu Kernighan & Ritchie
tương ứng với tập hợp các tùy chọn sau:

-nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0
-cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
-nprs -npsl -saf -sai -saw -nsc -nsob -nss

Phong cách Kernighan & Ritchie không đặt các nhận xét ở bên phải mã trong cùng một cột tại
mọi lúc (cũng như không chỉ sử dụng một khoảng trắng ở bên phải của mã), vì vậy đối với kiểu này
lịnh sung công đã tự ý chọn cột 33.

Phong cách của Berkeley nguyên bản lịnh sung công có thể nhận được bằng cách chỉ định '-orig' (hoặc bằng
chỉ định '--original', sử dụng tên tùy chọn dài). Phong cách này tương đương với
cài đặt sau:

-nbad -nbap -bbo -bc -br -brs -c33 -cd33 -cdb -ce -ci4 -cli0
-cp33 -di16 -fc1 -fca -hnl -i4 -ip4 -l75 -lp -npcs -nprs -psl
-saf -sai -saw -sc -nsob -nss -ts8

Kiểu Linux được sử dụng trong mã nhân linux và trình điều khiển. Mã thường phải tuân theo
kiểu mã hóa Linux được chấp nhận. Kiểu này tương đương với kiểu sau
cài đặt:

-nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4
-cli0 -d0 -di1 -nfc1 -i8 -ip0 -l80 -lp -npcs -nprs -npsl -sai
-saf -saw -ncs -nsc -sob -nfca -cp33 -ss -ts8 -il1

CHỖ TRỐNG NGÀNH NGHỀ


Các phong cách lập trình khác nhau sử dụng các dòng trống ở những nơi khác nhau. lịnh sung công có một số
các tùy chọn để chèn hoặc xóa các dòng trống ở những nơi cụ thể.

Tùy chọn '-bad' gây ra lịnh sung công để buộc một dòng trống sau mỗi khối khai báo.
Tùy chọn '-nbad' gây ra lịnh sung công không để buộc các dòng trống như vậy.

Tùy chọn '-bap' buộc một dòng trống sau mỗi phần nội dung thủ tục. Tùy chọn '-nbap'
buộc không có dòng trống như vậy.

Tùy chọn '-bbb' buộc một dòng trống trước mỗi nhận xét được đóng hộp (Xem GÓP Ý.) Các
Tùy chọn '-nbbb' không bắt buộc các dòng trống như vậy.

Tùy chọn '-sob' gây ra lịnh sung công nuốt các dòng trống tùy chọn (nghĩa là bất kỳ tùy chọn nào
các dòng trống có trong đầu vào sẽ bị xóa khỏi đầu ra). Nếu '-nsob' là
được chỉ định, bất kỳ dòng trống nào có trong tệp đầu vào sẽ được sao chép vào tệp đầu ra.

--blank-lines-after-khai báo


Tùy chọn '-bad' buộc một dòng trống sau mỗi khối khai báo. '-Nbad'
tùy chọn không thêm bất kỳ dòng trống nào như vậy.

Ví dụ, với đầu vào
char * foo;
thanh char *;
/ * Điều này phân tách các khối khai báo. * /
int baz;

lịnh sung công -xấu sản xuất

char * foo;
thanh char *;

/ * Điều này phân tách các khối khai báo. * /
int baz;

lịnh sung công -nbad sản xuất

char * foo;
thanh char *;
/ * Điều này phân tách các khối khai báo. * /
int baz;

--blank-lines-after-procedure


Tùy chọn '-bap' buộc một dòng trống sau mỗi phần nội dung thủ tục.

Ví dụ, với đầu vào

int
foo()
{
put ("Chào");
}
/ * Thanh thủ tục thậm chí còn ít thú vị hơn. * /
ký tự *
quán ba ()
{
put ("Xin chào");
}

lịnh sung công -bap sản xuất

int
foo()
{
put ("Chào");
}

/ * Thanh thủ tục thậm chí còn ít thú vị hơn. * /
ký tự *
quán ba ()
{
put ("Xin chào");
}

lịnh sung công -nbap sản xuất

int
foo()
{
put ("Chào");
}
/ * Thanh thủ tục thậm chí còn ít thú vị hơn. * /
ký tự *
quán ba ()
{
put ("Xin chào");
}

Không có dòng trống nào sẽ được thêm vào sau thủ tục foo.

GÓP Ý


lịnh sung công định dạng cả nhận xét C và C ++. C nhận xét được bắt đầu bằng '/ *', kết thúc bằng
'* /' và có thể chứa các ký tự dòng mới. Nhận xét C ++ bắt đầu bằng dấu phân cách '//' và
kết thúc ở dòng mới.

lịnh sung công xử lý các bình luận khác nhau tùy thuộc vào ngữ cảnh của chúng. lịnh sung công cố gắng
phân biệt giữa nhận xét theo sau câu lệnh, nhận xét theo sau tuyên bố,
các nhận xét sau các chỉ thị của bộ xử lý trước và các nhận xét không có trước mã của
bất kỳ loại nào, tức là, chúng bắt đầu văn bản của dòng (mặc dù không nhất thiết phải ở cột 1).

lịnh sung công phân biệt rõ hơn giữa các nhận xét được tìm thấy bên ngoài các thủ tục và tổng hợp,
và những thứ được tìm thấy bên trong chúng. Đặc biệt, các nhận xét bắt đầu một dòng được tìm thấy trong một
thủ tục sẽ được thụt lề vào cột mà tại đó mã hiện đang được thụt lề. Các
ngoại lệ đây là một nhận xét bắt đầu ở cột ngoài cùng bên trái; một nhận xét như vậy là đầu ra
tại cột đó.

lịnh sung công cố gắng rời đi đóng hộp Bình luận không sửa đổi. Ý tưởng chung của một nhận xét như vậy là
rằng nó được bao bọc trong một hình chữ nhật hoặc '' hộp '' các ngôi sao hoặc dấu gạch ngang để phân biệt nó một cách trực quan.
Chính xác hơn, các nhận xét đóng hộp được định nghĩa là những nhận xét trong đó ký tự đầu '/ *' được theo sau
ngay lập tức bởi ký tự '*', '=', '_' hoặc '-' hoặc những ký tự trong đó bắt đầu
dấu phân cách chú thích ('/ *') nằm trên một dòng và dòng sau bắt đầu bằng dấu '*'
trong cùng một cột với dấu sao của dấu phân cách mở.

Ví dụ về các nhận xét đóng hộp là:

/ **********************
* Bình luận trong một hộp !! *
********************** /

/*
* Một loại mùi hương khác,
* cho một loại nhận xét khác.
*/

lịnh sung công cố gắng để lại các bình luận đóng hộp chính xác như chúng được tìm thấy trong tệp nguồn.
Do đó, thụt lề của nhận xét là không thay đổi và độ dài của nhận xét không được kiểm tra trong bất kỳ
đường. Thay đổi duy nhất được thực hiện là một ký tự tab được nhúng có thể được chuyển đổi thành
số lượng khoảng trống thích hợp.

Nếu tùy chọn '-bbb' được chỉ định, tất cả các nhận xét đóng hộp như vậy sẽ được đặt trước một khoảng trống
dòng, trừ khi một nhận xét như vậy được đặt trước bằng mã.

Nhận xét không phải là nhận xét đóng hộp có thể được định dạng, có nghĩa là dòng
bị hỏng để vừa với lề phải và bên trái được lấp đầy bởi khoảng trắng. Các dòng mới là
tương đương với một khoảng trắng, nhưng các dòng trống (hai hoặc nhiều dòng mới trong một hàng) được coi là
ngắt đoạn. Định dạng nhận xét bắt đầu sau khi cột đầu tiên được bật
với tùy chọn '-fca'. Để định dạng những từ bắt đầu trong cột một, hãy chỉ định '-fc1'. Như là
định dạng bị tắt theo mặc định.

Lề phải để định dạng mặc định là 78, nhưng có thể được thay đổi với tùy chọn '-lc'.
Nếu lề được chỉ định không cho phép in nhận xét, lề sẽ là
tự động kéo dài trong khoảng thời gian của nhận xét đó. Lợi nhuận không được tôn trọng nếu
nhận xét không được định dạng.

Nếu nhận xét bắt đầu một dòng (tức là không có văn bản chương trình nào ở bên trái của nó), nó sẽ là
thụt lề vào cột mà nó được tìm thấy trừ khi nhận xét nằm trong một khối mã. Trong
trong trường hợp đó, một nhận xét như vậy sẽ được căn chỉnh với mã thụt lề của khối đó (trừ khi
nhận xét bắt đầu trong cột đầu tiên). Việc căn chỉnh này có thể bị ảnh hưởng bởi tùy chọn '-d',
chỉ định số lượng mà các nhận xét đó được chuyển đến trái, hoặc không đồng ý.
Ví dụ: '-d2' đặt chú thích hai khoảng trắng ở bên trái mã. Theo mặc định, nhận xét
được căn chỉnh với mã, trừ khi chúng bắt đầu ở cột đầu tiên, trong trường hợp đó chúng được đặt bên trái
ở đó theo mặc định --- để chúng được căn chỉnh với mã, hãy chỉ định '-fc1'.

Các chú thích ở bên phải mã sẽ xuất hiện theo mặc định trong cột 33. Điều này có thể được thay đổi
với một trong ba tùy chọn. '-c' sẽ chỉ định cột cho các nhận xét sau mã,
'-cd' chỉ định cột cho nhận xét sau các khai báo và '-cp' chỉ định
cột cho các nhận xét sau các lệnh tiền xử lý #khác#endif. '-dj' cùng nhau
với '-cd0' có thể được sử dụng để ngăn chặn việc căn chỉnh các chú thích ở bên phải khai báo,
khiến nhận xét theo sau một tab từ cuối khai báo. Thông thường '-cd0'
khiến '-c' trở nên hiệu quả.

Nếu mã ở bên trái của nhận xét vượt quá cột đầu, cột nhận xét
sẽ được mở rộng đến cột tabstop tiếp theo ở cuối mã hoặc trong trường hợp
chỉ thị tiền xử lý, đến một khoảng trống ở cuối chỉ thị. Phần mở rộng này kéo dài
chỉ cho đầu ra của nhận xét cụ thể đó.

Tùy chọn '-cdb' đặt các dấu phân cách nhận xét trên các dòng trống. Do đó, một dòng
bình luận như /* Thương ôm */ có thể được chuyển đổi thành:

/*
Cái ôm yêu thương
*/

Dấu sao có thể được đặt ở đầu các bình luận nhiều dòng với tùy chọn '-sc'. Vì vậy,
nhận xét một dòng ở trên có thể được chuyển đổi (với '-cdb -sc') thành:

/*
* Cái ôm yêu thương
*/

CÁC CÂU LỆNH


Tùy chọn '-br' hoặc '-bl' chỉ định cách định dạng dấu ngoặc nhọn.

Tùy chọn '-br' định dạng dấu ngoặc nhọn của câu lệnh như sau:

nếu (x> 0) {
NS--;
}

Tùy chọn '-bl' định dạng chúng như thế này:

nếu (x> 0)
{
NS--;
}

Nếu bạn sử dụng tùy chọn '-bl', bạn cũng có thể muốn chỉ định tùy chọn '-bli'. Tùy chọn này
chỉ định số lượng khoảng trắng mà dấu ngoặc nhọn được thụt vào. '-bli2', mặc định, cho
kết quả hiển thị ở trên. '-bli0' cho kết quả như sau:

nếu (x> 0)
{
NS--;
}

Nếu bạn đang sử dụng tùy chọn '-br', có thể bạn cũng muốn sử dụng tùy chọn '-ce'. Cái này
gây ra khác trong cấu trúc if-then-else để nâng cấp lên ngay trước
'}'. Ví dụ, với '-br -ce', bạn nhận được như sau:

nếu (x> 0) {
NS--;
} Else {
fprintf (stderr, "... có gì sai? \ n");
}

Với '-br -nce', mã đó sẽ xuất hiện dưới dạng

nếu (x> 0) {
NS--;
}
khác {
fprintf (stderr, "... có gì sai? \ n");
}

Điều này gây ra trong khi trong vòng lặp do-while để nâng cấp lên '}' ngay trước đó.
Ví dụ: với '-cdw', bạn nhận được như sau:

làm {
NS--;
} trong khi (x);

Với '-ncdw', mã đó sẽ xuất hiện dưới dạng

làm {
NS--;
}
trong khi (x);

Tùy chọn '-cli' chỉ định số lượng khoảng trắng mà các nhãn chữ hoa nên được thụt vào
bên phải của chứa chuyển đổi tuyên bố.

Mặc định cung cấp mã như:

chuyển đổi (i)
{
trường hợp 0:
phá vỡ;
trường hợp 1:
{
++ tôi;
}
mặc định:
phá vỡ;
}

Sử dụng '-cli2' sẽ trở thành:

chuyển đổi (i)
{
trường hợp 0:
phá vỡ;
trường hợp 1:
{
++ tôi;
}
mặc định:
phá vỡ;
}

Việc thụt lề của dấu ngoặc nhọn bên dưới câu lệnh viết hoa có thể được kiểm soát bằng '-cbin'
Lựa chọn. Ví dụ: sử dụng '-cli2 -cbi0' cho kết quả:

chuyển đổi (i)
{
trường hợp 0:
phá vỡ;
trường hợp 1:
{
++ tôi;
}
mặc định:
phá vỡ;
}

Nếu dấu chấm phẩy nằm trên cùng dòng với cho or trong khi tuyên bố, tùy chọn '-ss' sẽ
gây ra một khoảng trắng được đặt trước dấu chấm phẩy. Điều này nhấn mạnh dấu chấm phẩy, làm cho nó
rõ ràng rằng cơ thể của cho or trong khi tuyên bố là một tuyên bố trống. tắt '-nss'
tính năng này.

Tùy chọn '-pcs' gây ra một khoảng trắng được đặt giữa tên của thủ tục
được gọi và dấu '(' (ví dụ: đặt ("Chào");. Tùy chọn '-npcs' sẽ cung cấp cho
put ("Chào");).

Nếu tùy chọn '-cs' được chỉ định, lịnh sung công đặt một khoảng trống giữa toán tử ép kiểu và
đối tượng được đúc. '-Ncs' đảm bảo rằng không có khoảng trống giữa toán tử ép kiểu và
đối tượng. Nhớ lấy lịnh sung công chỉ biết về các kiểu dữ liệu C tiêu chuẩn và vì vậy không thể
nhận dạng các kiểu do người dùng xác định trong phôi. Như vậy (mytype) điều không được coi như một bó bột.

Tùy chọn '-bs' đảm bảo rằng có một khoảng cách giữa từ khóa kích thước và của mình
tranh luận. Trong một số phiên bản, điều này được gọi là tùy chọn 'Bill_Shannon'.

Tùy chọn '-saf' buộc một khoảng trắng giữa cho và dấu ngoặc sau. Đây là
mặc định.

Tùy chọn '-sai' buộc một khoảng trắng giữa if và dấu ngoặc sau. Đây là
mặc định.

Tùy chọn '-saw' buộc một khoảng cách giữa trong khi và dấu ngoặc sau. Đây là
mặc định.

Tùy chọn '-prs' khiến tất cả các dấu ngoặc đơn được phân tách bằng dấu cách từ bất kỳ
giữa họ. Ví dụ: sử dụng '-prs' cho kết quả mã như:

while ((e_code - s_code) <(dec_ind - 1))
{
set_buf_break (bb_dec_ind);
* e_code ++ = '';
}

KHAI BÁO


Theo mặc định lịnh sung công sẽ xếp hàng các số nhận dạng, trong cột được chỉ định bởi tùy chọn '-di'.
Ví dụ: '-di16' làm cho mọi thứ giống như sau:

int foo;
thanh char *;

Sử dụng một giá trị nhỏ (chẳng hạn như một hoặc hai) cho tùy chọn '-di' có thể được sử dụng để gây ra
số nhận dạng được đặt ở vị trí sẵn có đầu tiên; Ví dụ:

int foo;
thanh char *;

Giá trị được cung cấp cho tùy chọn '-di' sẽ vẫn ảnh hưởng đến các biến được đặt riêng biệt
các dòng từ các loại của chúng, ví dụ '-di2' sẽ dẫn đến:

int
foo;

Nếu tùy chọn '-bc' được chỉ định, một dòng mới được buộc sau mỗi dấu phẩy trong một khai báo.
Ví dụ,

int a,
b,
c;

Với tùy chọn '-nbc', điều này sẽ giống như

int a, b, c;

Tùy chọn '-bfda' khiến một dòng mới bị ép buộc sau dấu phẩy phân tách các đối số
của một khai báo hàm. Các đối số sẽ xuất hiện ở một mức chú ý sâu hơn
khai báo hàm. Điều này đặc biệt hữu ích cho các hàm có đối số dài
danh sách. Tùy chọn '-bfde' khiến một dòng mới bị buộc trước dấu ngoặc đóng của
khai báo hàm. Đối với cả hai tùy chọn, cài đặt 'n' là mặc định: -nbdfa và -nbdfe.

Ví dụ,

void foo (int arg1, char arg2, int * arg3, long arg4, char arg5);
Với tùy chọn '-bfda', điều này sẽ giống như

khoảng trống foo (
int arg1,
ký tự arg2,
int * arg3,
arg4 dài,
char arg5);

Ngoài ra, với tùy chọn '-bfde', tùy chọn này sẽ trông giống như

khoảng trống foo (
int arg1,
ký tự arg2,
int * arg3,
arg4 dài,
ký tự arg5
);

Tùy chọn '-psl' khiến loại thủ tục được xác định được đặt trên dòng
trước tên của thủ tục. Phong cách này là bắt buộc đối với etag chương trình làm việc
một cách chính xác, cũng như một số chế độ c chức năng của Emacs.

Bạn phải sử dụng tùy chọn '-T' để nói lịnh sung công tên của tất cả các loại tên trong chương trình của bạn
được định nghĩa bởi đánh máy. '-T' có thể được chỉ định nhiều lần và tất cả các tên
được chỉ định được sử dụng. Ví dụ: nếu chương trình của bạn chứa

typedef dài không dấu CODE_ADDR;
typedef enum {đỏ, lam, lục} COLOR;

bạn sẽ sử dụng các tùy chọn '-T CODE_ADDR -T COLOR'.

Tùy chọn '-brs' hoặc '-bls' chỉ định cách định dạng dấu ngoặc nhọn trong khai báo cấu trúc. Các
Tùy chọn '-brs' định dạng dấu ngoặc nhọn như sau:

cấu trúc foo {
intx;
};

Tùy chọn '-bls' định dạng chúng như thế này:

cấu trúc foo
{
intx;
};

Tương tự với tùy chọn dấu ngoặc nhọn '-brs' và '-bls',
các tùy chọn dấu ngoặc nhọn '-brf' hoặc '-blf' chỉ định cách định dạng dấu ngoặc nhọn trong hàm
định nghĩa. Tùy chọn '-brf' định dạng dấu ngoặc nhọn như sau:

int one (void) {
1 trở về;
};

Tùy chọn '-blf' định dạng chúng như thế này:

int one (void)
{
1 trở về;
};

THỤT LƯNG


Một vấn đề trong việc định dạng mã là mỗi dòng nên được thụt lề bao xa so với bên trái
lề. Khi bắt đầu một câu lệnh chẳng hạn như if or cho gặp phải,
mức thụt lề được tăng lên bởi giá trị được chỉ định bởi tùy chọn '-i'. Ví dụ,
sử dụng '-i8' để chỉ định thụt lề tám ký tự cho mỗi cấp. Khi một tuyên bố là
bị đứt hai dòng, dòng thứ hai được thụt vào bởi một số khoảng trắng bổ sung
được chỉ định bởi tùy chọn '-ci'. '-ci' mặc định là 0. Tuy nhiên, nếu tùy chọn '-lp' là
được chỉ định và một dòng có dấu ngoặc trái không được đóng trên dòng đó, thì
các dòng tiếp tục sẽ được xếp thẳng hàng để bắt đầu ở vị trí ký tự ngay sau bên trái
dấu ngoặc đơn. Quá trình xử lý này cũng áp dụng cho '[' và áp dụng cho '{' khi nó xảy ra trong
danh sách khởi tạo. Ví dụ: một đoạn mã tiếp tục có thể trông giống như thế này với
'-nlp -ci3' có hiệu lực:

p1 = thủ tục đầu tiên (thủ tục thứ hai (p2, p3),
quy_trình thứ ba (p4, p5));

Với '-lp' có hiệu lực, mã trông rõ ràng hơn:

p1 = thủ tục đầu tiên (thủ tục thứ hai (p2, p3),
quy_trình thứ ba (p4, p5));

Khi một câu lệnh bị ngắt giữa hai hoặc nhiều cặp dấu ngoặc (...), mỗi cặp thêm
gây ra thụt lề phụ cấp độ thụt lề:

if ((((tôi <2 &&
k> 0) || p == 0) &&
q == 1) ||
n = 0)

Tùy chọn '-ipN'có thể được sử dụng để đặt độ lệch bổ sung cho mỗi dấu ngoặc. Ví dụ: '-ip0'
sẽ định dạng ở trên là:

if ((((tôi <2 &&
k> 0) || p == 0) &&
q == 1) ||
n = 0)

lịnh sung công giả định rằng các tab được đặt trong khoảng thời gian đều đặn của cả đầu vào và đầu ra
các luồng ký tự. Các khoảng này theo mặc định rộng 8 cột, nhưng (kể từ phiên bản 1.2)
có thể được thay đổi bởi tùy chọn '-ts'. Các tab được coi là số lượng khoảng trắng tương đương.

Việc thụt lề của khai báo kiểu trong định nghĩa hàm kiểu cũ được kiểm soát bởi
tham số '-ip'. Đây là một tham số số chỉ định bao nhiêu dấu cách để thụt lề
kiểu khai báo. Ví dụ: '-ip5' mặc định làm cho các định nghĩa giống như sau:

ký tự *
create_world (x, y, tỷ lệ)
intx;
int y;
cân nổi;
{
. . .
}

Để tương thích với các phiên bản thụt lề khác, tùy chọn '-nip' được cung cấp, đó là
tương đương với '-ip0'.

ANSI C cho phép đặt khoảng trắng trên các dòng lệnh tiền xử lý giữa ký tự
'#' và tên lệnh. Theo mặc định, lịnh sung công loại bỏ không gian này, nhưng chỉ định
tùy chọn '-lps' chỉ đạo lịnh sung công để không gian này không bị sửa đổi. Tùy chọn '-ppi' ghi đè
'-nlps' và '-lps'.

Tùy chọn này có thể được sử dụng để yêu cầu các câu lệnh điều kiện của bộ tiền xử lý có thể được
thụt lề vào một số khoảng trắng nhất định, ví dụ với tùy chọn '-ppi 3'

#nếu X
# nếu Y
#xác định Z 1
#khác
#xác định Z 0
#endif
#endif
trở thành
#nếu X
# nếu Y
# xác định Z 1
# khác
# xác định Z 0
# kết thúc
#endif

Tùy chọn này đặt độ lệch tại đó một nhãn (ngoại trừ các nhãn chữ hoa) sẽ được định vị. Nếu như
nó được đặt thành XNUMX hoặc một số dương, điều này cho biết khoảng cách từ lề trái đến
thụt lề nhãn. Nếu nó được đặt thành một số âm, điều này cho biết khoảng cách trở lại so với
mức thụt lề hiện tại để đặt nhãn. Cài đặt mặc định là -2 phù hợp với
hành vi của các phiên bản thụt lề trước. Lưu ý rằng tham số này không ảnh hưởng đến
đặt nhãn trường hợp; xem tham số '-cli' cho điều đó. Ví dụ với tùy chọn
'-il 1'

nhóm
hàm số()
{
if (do_stuff1 () == ERROR)
goto dọn dẹp1;

if (do_stuff2 () == ERROR)
goto dọn dẹp2;

trở lại THÀNH CÔNG;

dọn dẹp2:
do_cleanup2 ();

dọn dẹp1:
do_cleanup1 ();

trả về LỖI;
}
trở thành
nhóm
hàm số()
{
if (do_stuff1 () == ERROR)
goto dọn dẹp1;

if (do_stuff2 () == ERROR)
goto dọn dẹp2;

trở lại THÀNH CÔNG;

dọn dẹp2:
do_cleanup2 ();

dọn dẹp1:
do_cleanup1 ();

trả về LỖI;
}

BREAKING DÀI NGÀNH NGHỀ


Với tùy chọn '-ln', hoặc' --line-lengthn', có thể chỉ định độ dài tối đa
của một dòng mã C, không bao gồm các nhận xét có thể có theo sau nó.

Khi các dòng dài hơn độ dài dòng được chỉ định, GNU lịnh sung công cố gắng phá vỡ
dòng tại một nơi hợp lý. Tuy nhiên, tính năng này là mới so với phiên bản 2.1 và không thông minh lắm
hoặc linh hoạt chưa.

Hiện tại, có hai tùy chọn cho phép một tùy chọn can thiệp vào thuật toán
xác định vị trí ngắt dòng.

Tùy chọn '-bbo' gây ra GNU lịnh sung công thích ngắt dòng dài trước boolean
khai thác &&||. Tùy chọn '-nbbo' gây ra GNU lịnh sung công không có sở thích đó. Vì
ví dụ, tùy chọn mặc định '-bbo' (cùng với '--line-length60' và '--ignore-
newlines ') làm cho mã trông như thế này:

nếu (mặt nạ
&& ((mặt nạ [0] == '\ 0')
|| (mặt nạ [1] == '\ 0'
&& ((mask [0] == '0') || (mask [0] == '*')))))

Sử dụng tùy chọn '-nbbo' sẽ làm cho nó giống như sau:

if (mặt nạ &&
((mặt nạ [0] == '\ 0') ||
(mặt nạ [1] == '\ 0' &&
((mask [0] == '0') || (mask [0] == '*')))))

Tuy nhiên, '-hnl' mặc định tôn vinh các dòng mới trong tệp đầu vào bằng cách cho chúng cao nhất
ưu tiên có thể để ngắt dòng tại. Ví dụ: khi tệp đầu vào trông giống như sau:

nếu (mặt nạ
&& ((mặt nạ [0] == '\ 0')
|| (mask [1] == '\ 0' && ((mask [0] == '0') || (mask [0] == '*')))))

sau đó sử dụng tùy chọn '-hnl' hoặc '--honour-newlines', cùng với
đã đề cập đến '-nbbo' và '--line-length60', sẽ khiến đầu ra không giống như những gì được đưa ra trong
ví dụ cuối cùng nhưng thay vào đó sẽ thích ngắt ở các vị trí mà mã
bị hỏng trong tệp đầu vào:

nếu (mặt nạ
&& ((mặt nạ [0] == '\ 0')
|| (mặt nạ [1] == '\ 0' &&
((mask [0] == '0') || (mask [0] == '*')))))

Ý tưởng đằng sau tùy chọn này là các dòng quá dài, nhưng đã bị chia nhỏ,
sẽ không bị GNU đụng chạm lịnh sung công. Mã thực sự lộn xộn nên được chạy qua lịnh sung công at
ít nhất một lần sử dụng tùy chọn '--ignore-newlines'.

TIÊU DIỆT ĐỊNH DẠNG


Định dạng mã C có thể bị vô hiệu hóa đối với các phần của chương trình bằng cách nhúng đặc biệt
điều khiển Bình luận trong chương trình. Để tắt định dạng cho một phần của chương trình, hãy đặt
nhận xét vô hiệu hóa điều khiển /* * INDENT-OFF * */ trên một dòng của chính nó ngay trước đó
phần. Văn bản chương trình được quét sau khi nhận xét điều khiển này được xuất chính xác như đầu vào
không có sửa đổi cho đến khi nhận xét cho phép tương ứng được quét trên một dòng bằng
chinh no. Nhận xét vô hiệu hóa điều khiển là /* * INDENT-ON * */và bất kỳ văn bản nào theo sau
bình luận trên dòng cũng được xuất ra không định dạng. Định dạng bắt đầu lại với đầu vào
dòng sau chú thích điều khiển kích hoạt.

Chính xác hơn lịnh sung công không cố gắng xác minh dấu phân cách đóng (*/) cho những C
nhận xét và bất kỳ khoảng trắng nào trên dòng là hoàn toàn minh bạch.

Các nhận xét điều khiển này cũng hoạt động trong các định dạng C ++ của chúng, cụ thể là // * INDENT-OFF *//
* INDENT-ON *.

Cần lưu ý rằng trạng thái bên trong của lịnh sung công vẫn không thay đổi trong quá trình
phần chưa được định dạng. Do đó, ví dụ: tắt định dạng ở giữa
chức năng và tiếp tục nó sau khi kết thúc chức năng có thể dẫn đến kết quả kỳ lạ. Nó
do đó, khôn ngoan là nên chọn một chút mô-đun trong việc chọn mã không được định dạng.

Như một ghi chú lịch sử, một số phiên bản trước của lịnh sung công bắt đầu thông báo lỗi tạo ra
với * INDENT **. Các phiên bản này của lịnh sung công được viết để bỏ qua bất kỳ dòng văn bản đầu vào nào
bắt đầu với các thông báo lỗi như vậy. Tôi đã xóa tính năng loạn luân này khỏi GNU
lịnh sung công.

KHÁC LỰA CHỌN


Để tìm hiểu phiên bản của lịnh sung công bạn có, sử dụng lệnh lịnh sung công -phiên bản. Điều này sẽ
báo cáo số phiên bản của lịnh sung công, mà không cần thực hiện bất kỳ quy trình xử lý thông thường nào.

Tùy chọn '-v' có thể được sử dụng để bật chế độ tiết. Khi ở chế độ tiết, lịnh sung công báo cáo
khi nó tách một dòng đầu vào thành hai dòng đầu ra khác và cung cấp một số kích thước
thống kê khi hoàn thành.

Tùy chọn '-pmt' gây ra lịnh sung công để duy trì quyền truy cập và thời gian sửa đổi trên
các tập tin đầu ra. Sử dụng tùy chọn này có lợi thế là chạy thụt lề trên tất cả các nguồn và
các tệp tiêu đề trong một dự án sẽ không gây ra làm cho để xây dựng lại tất cả các mục tiêu. Tùy chọn này chỉ là
khả dụng trên Hệ điều hành có POSIX thời gian sử dụng(2) chức năng.

Sử dụng thụt lề trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    NSIS: Hệ thống cài đặt tập lệnh Nullsoft
    NSIS: Hệ thống cài đặt tập lệnh Nullsoft
    NSIS (Cài đặt tập lệnh Nullsoft
    System) là một mã nguồn mở chuyên nghiệp
    hệ thống để tạo bộ cài đặt Windows. Nó
    được thiết kế nhỏ và linh hoạt
    như sở hữu ...
    Tải xuống NSIS: Hệ thống cài đặt tập lệnh Nullsoft
  • 2
    xác thực
    xác thực
    AuthPass là một mật khẩu nguồn mở
    quản lý với sự hỗ trợ cho phổ biến và
    Keepass đã được chứng minh (kdbx 3.x VÀ kdbx 4.x ...
    Tải xuống mật khẩu xác thực
  • 3
    Zabbix
    Zabbix
    Zabbix là một công ty mở cấp doanh nghiệp
    nguồn giải pháp giám sát phân tán
    được thiết kế để giám sát và theo dõi
    hiệu suất và tính khả dụng của mạng
    máy chủ, thiết bị ...
    Tải xuống Zabbix
  • 4
    KĐ3
    KĐ3
    Kho lưu trữ này không còn được duy trì
    và được giữ cho mục đích lưu trữ. Nhìn thấy
    https://invent.kde.org/sdk/kdiff3 for
    mã mới nhất và
    https://download.kde.o...
    Tải xuống KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX là một GUI cho
    Bộ nạp USB của Waninkoko, dựa trên
    libwiigui. Nó cho phép liệt kê và
    khởi chạy trò chơi Wii, trò chơi Gamecube và
    homebrew trên Wii và WiiU ...
    Tải xuống USBLoaderGX
  • 6
    Chim lửa
    Chim lửa
    Firebird RDBMS cung cấp các tính năng ANSI SQL
    & chạy trên Linux, Windows &
    một số nền tảng Unix. Đặc trưng
    đồng thời và hiệu suất tuyệt vời
    & sức mạnh...
    Tải xuống Firebird
  • Khác »

Lệnh Linux

Ad