C @ t {++} หมายถึงอะไรในหน้า man gdb?


16

ฉันกำลังอ่าน manpage สำหรับ gdb และฉันพบว่า:

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

C @ t {++} ดูเหมือน regex แต่ฉันไม่สามารถถอดรหัสได้

มันหมายความว่าอะไร?


รุ่นไหน? ดูเหมือนว่า C ++ เท่านั้นที่พวกเขาจัดการการเข้ารหัสพิเศษ++อย่างใดอย่างหนึ่ง
thrig

@thrig ฉันสามารถยืนยันได้ใน Ubuntu 16.04, gdb 7.11.1-0ubuntu1 ~ 16.5
Melebius

อะไรทำให้ดูเหมือนเป็น regex สำหรับคุณ
คดีฟ้องร้องกองทุนโมนิก้า

FWIW นั่นจะเป็น regex ที่ไม่ถูกต้อง
การแข่งขัน Lightness กับโมนิก้า

เห็นได้ชัดว่าพวกเขาลืมวิธีการเขียนC\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
tchrist

คำตอบ:


28

GNU เกลียดหน้าคนดังนั้นพวกเขาจึงมักจะเขียนเอกสารในรูปแบบอื่นและสร้างหน้าคนจากนั้นโดยไม่ต้องห่วงถ้าผลที่ได้นั้นสามารถใช้ได้จริง

C@t{++}เป็นมาร์กอัป texinfo บางตัวที่ไม่ได้รับการแปล มันไม่ได้ตั้งใจจะเป็นส่วนหนึ่งของเอกสารที่ผู้ใช้มองเห็นได้ มันก็ควรจะพูดC++(อาจมีตัวอักษรพิเศษบางอย่างสำหรับที่++จะทำให้มันดูดี)


8
ในกรณีนี้มันเป็นสิ่งที่ตรงกันข้าม doco ถูกเขียนขึ้นเป็นครั้งแรกใน roff ในปี 1980และ roff (ไม่ดี) แปลงด้วยมือเป็น texinfo ในปี 2013
JdeBP

6
เราจะได้รับการอ้างอิงสำหรับความคิดเห็นในประโยคแรกได้ไหม?
สารเรืองแสง


3
@ Kusalananda ขอบคุณสำหรับลิงค์ / ข้อมูล แหล่งข้อมูลนั้นไม่สนับสนุนความเห็นในคำตอบ
สารเรืองแสง

2
@thosphor "เกลียด" เป็นบิตของการพูดเกินจริง แต่ก็ชัดเจนว่า RMS และ FSF ไม่พิจารณารูปแบบที่ต้องการ
Barmar

18

ลำดับ@t{...}คือมาร์กอัพ texinfo เพื่อเรียงลำดับชุดโดยใช้แบบอักษรที่มีความกว้างคงที่ (ดูส่วนแบบอักษรของคู่มือ texinfo สำหรับรายละเอียดเพิ่มเติมและตัวอย่างบางส่วน)

ดูเหมือนว่าพวกเขากำลังพยายามเขียน "C ++" และมี "++" ใช้แบบอักษรที่มีความกว้างคงที่ (เช่น " ++") บางทีบางคนพบว่าบางคนพบว่าให้ผลลัพธ์ที่ดีกว่าด้วยแบบอักษรเฉพาะขณะที่แสดงเอกสารใน PostScript หรือ PDF ใช้แบบอักษรความกว้างตัวแปรโดยค่าเริ่มต้น

สาเหตุที่ทำให้สิ่งนี้ดูเหมือนไม่ทำงานและคุณเห็นลำดับที่ยังไม่ได้ประมวลผลนั่นคือinfoระบบเอกสารของtexinfo ถูกใช้ในขณะที่manใช้ nroff ซึ่งเป็นภาษาอื่นที่มีคำสั่งต่างกัน (เช่นคำสั่งเปลี่ยนเป็นค่าคงที่) ตัวอักษรความกว้างใน nroff คือ\f(CW) ดังนั้นแน่นอนว่ามันไม่รู้จัก@t{...}ลำดับที่ไม่เปลี่ยนแปลง

ดูเหมือนว่าปัญหานี้จะมีการนำมาใช้ในคอมมิชชันตั้งแต่เมษายน 2013ซึ่งมีการแปลง man pages เป็น texinfo และมาร์กอัปที่เจาะจงนั้นได้ถูกนำเสนอ ดูเหมือนว่าสคริปต์ที่ใช้ในการสร้าง man pages ( texi2man.pl) จะไม่รู้จักหรือแปลงลำดับนั้นอย่างถูกต้อง



6
การประชดคือการpod2manให้มาโคร roff สำหรับ "nicer C ++"ที่ไม่ได้ใช้เพราะรหัสการจดจำจะเริ่มทำงานเฉพาะกับสตริง "C ++" เท่านั้น
JdeBP

2
@JdeBP คุณดูเหมือนจะมีคำตอบที่นี่ดังนั้นทำไมคุณไม่เขียน
ท่อ

3
ความร่วมมือท่อ ความคิดเห็นคำตอบมีการแนะนำการปรับปรุงคำตอบ นี่คือการปรับปรุงบางอย่าง ลองดูว่าผู้ตอบสองคนที่นี่ต้องการรวมพวกเขาหรือไม่ ฉันไม่ต้องการเหยียบเท้าถ้าพวกเขาทำ
JdeBP

3
@JdeBP ขอบคุณสำหรับการโทรออก ความทรงจำของฉันคือฉันได้รับการ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'ขยาย troff จาก labbie ที่ Murray Hill ระหว่างการประกาศครั้งแรกของภาษา C ++ เมื่อเราทำการเรียง USENIX สำหรับการดำเนินการในช่วงต้น C ++ ห้องปฏิบัติการค่อนข้างจริงจังเกี่ยวกับการเริ่มต้น :)
tchrist
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.