C @ t {++} có nghĩa là gì trong trang gdb man?


16

Tôi đã đọc manpage cho gdb và tôi đã xem qua dòng:

You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2.

C @ t {++} trông giống như một regex nhưng tôi dường như không thể giải mã nó.

Nó có nghĩa là gì?


cho phiên bản nào? trông giống như C ++ duy nhất họ bodged mã hóa đặc biệt của ++bằng cách nào đó
thrig

@thrig Tôi có thể xác nhận điều này trong Ubuntu 16.04, gdb 7.11.1-0ubfox1 ~ 16.5.
Melebius

Điều gì làm cho điều này trông giống như một regex cho bạn?
Vụ kiện của Quỹ Monica

FWIW, đó sẽ là một regex không hợp lệ.
Cuộc đua nhẹ nhàng với Monica

Rõ ràng họ đã quên cách viếtC\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
tchrist

Câu trả lời:


28

GNU ghét các trang man, vì vậy họ thường viết tài liệu ở định dạng khác và tạo một trang man từ đó, mà không thực sự quan tâm nếu kết quả có thể sử dụng được.

C@t{++}là một số đánh dấu texinfo không được dịch. Nó không có ý định là một phần của tài liệu người dùng có thể nhìn thấy. Nó chỉ đơn giản nên nói C++(có thể với một số phông chữ đặc biệt ++để làm cho nó trông đẹp).


8
Trong trường hợp này, nó là đảo ngược chính xác. Tài liệu ban đầu được viết bằng roff vào những năm 1980 và roff (rất tệ) được chuyển đổi thành texinfo vào năm 2013.
JdeBP

6
Chúng ta có thể nhận được một số trích dẫn cho các ý kiến ​​trong câu đầu tiên?
phốt pho


3
@Kusalananda Cảm ơn các liên kết / thông tin. Nguồn đó không hỗ trợ ý kiến ​​trong câu trả lời mặc dù.
phốt pho

2
@thosphor "ghét" là một chút cường điệu, nhưng rõ ràng RMS và FSF không coi đó là định dạng ưa thích của họ.
Barmar

18

Trình tự @t{...}là đánh dấu texinfo để sắp xếp một chuỗi bằng phông chữ có chiều rộng cố định (xem phần Phông chữ của hướng dẫn texinfo để biết thêm chi tiết và một số ví dụ.)

Có vẻ như họ đã cố gắng viết "C ++" và "++" sử dụng phông chữ có chiều rộng cố định (như " ++".) Có lẽ ai đó đã tìm thấy kết quả tốt hơn với các phông chữ cụ thể trong khi hiển thị tài liệu ở PostScript hoặc PDF hoặc một số định dạng sử dụng phông chữ có chiều rộng thay đổi theo mặc định.

Lý do tại sao điều này dường như không hoạt động và bạn đang thấy chuỗi chưa được xử lý là vì texinfo được sử dụng bởi infohệ thống tài liệu, trong khi mansử dụng nroff là ngôn ngữ khác với các lệnh khác nhau (ví dụ: lệnh chuyển sang hằng số phông chữ chiều rộng trong nroff là \f(CW), vì vậy tất nhiên nó không nhận ra @t{...}chuỗi không thay đổi.

Vấn đề này dường như đã được giới thiệu trong một cam kết từ tháng 4 năm 2013 , nơi các trang man được chuyển đổi thành texinfo và đánh dấu cụ thể đã được giới thiệu. Có vẻ như tập lệnh hiện được sử dụng để tạo các trang man ( texi2man.pl) không nhận ra hoặc chuyển đổi chính xác chuỗi đó.



6
Điều trớ trêu là nó pod2mancung cấp một macro roff cho "C ++ đẹp hơn" không được sử dụng vì mã nhận dạng của nó chỉ khởi động cho chuỗi "C ++".
JdeBP

2
@JdeBP Bạn dường như có câu trả lời ở đây, vậy tại sao bạn không viết?
đường ống

3
Hợp tác, đường ống. Trả lời ý kiến ​​là để đề xuất cải tiến cho câu trả lời . Dưới đây là một số cải tiến. Hãy xem liệu hai người trả lời ở đây có muốn kết hợp chúng không. Tôi muốn không bước lên ngón chân của họ nếu họ làm.
JdeBP

3
@JdeBP Cảm ơn bạn đã gọi ra. C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'Hồi ức của tôi là tôi đã nhận được bản mở rộng troff từ một labbie tại Murray Hill trong thời gian truyền giáo ban đầu của ngôn ngữ C ++ khi chúng tôi sắp xếp các thủ tục USENIX cho các sự kiện C ++ đầu tiên đó. Những người lao động đã khá nghiêm túc về việc chế biến của họ. :)
tchrist
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.