แปลงชื่อส่วนหัว C เป็นชื่อส่วนหัว C ++


27

ในไลบรารีมาตรฐาน C ชื่อส่วนหัวลงท้ายด้วย.hคำต่อท้าย:

stdio.h

ใน C ++ ชื่อส่วนหัวเหล่านั้นจะมีอยู่ในรูปแบบอื่นโดยมีcคำนำหน้าแทน:

cstdio

เขียนฟังก์ชั่นที่แปลงรูปแบบแรกเป็นรูปแบบที่สอง คุณสามารถทำการแปลงในสถานที่หรือปล่อยให้สตริงเดิมไม่เปลี่ยนแปลงและส่งคืนสตริงใหม่ ไม่ว่าคุณจะรู้สึกเป็นธรรมชาติในภาษาที่คุณเลือก

รหัสจะต้องรวบรวม / ตีความโดยไม่มีข้อผิดพลาด คำเตือนคอมไพเลอร์เป็นที่ยอมรับ

นี่คือโซลูชัน C พื้นฐานของคุณ มันมี70 ตัวอักษรและสร้างคำเตือนเกี่ยวกับstrlen:

void f(char*h){int i=strlen(h);h[--i]=0;while(--i)h[i]=h[i-1];*h='c';}

ทางออกที่สั้นที่สุด (วัดเป็นจำนวนตัวอักษร) ชนะ

อัปเดต:หากภาษาที่คุณเลือกไม่รองรับฟังก์ชั่นโปรแกรมทั้งหมดก็สามารถใช้ได้เช่นกัน

อัปเดต:ตามที่ FUZxxl แนะนำนี่คือรายการที่สมบูรณ์ของไฟล์ส่วนหัวในไลบรารีมาตรฐาน C:

assert.h
ctype.h
errno.h
float.h
limits.h
locale.h
math.h
setjmp.h
signal.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
time.h

โดยเฉพาะไม่มีชื่อส่วนหัวที่มีจุดหลายจุด

คำตอบ:


37

รหัสเครื่อง 80386, 13 ไบต์

Hexdump ของรหัส:

b0 63 86 01 41 3c 2e 75 f9 c6 01 00 c3

ซอร์สโค้ด (สามารถคอมไพล์โดย Visual Studio):

__declspec(naked) void __fastcall conv(char s[])
{
    _asm {
        mov al, 'c';            // b0 63
    myloop:
        xchg al, [ecx];         // 86 01
        inc ecx;                // 41
        cmp al, '.';            // 3c 2e
        jne myloop;             // 75 f9
        mov byte ptr [ecx], 0;  // c6 01 00
        ret;                    // c3
    }
}

มันจะแปลงสตริงในสถานที่ รหัสนั้นง่ายมากไม่จำเป็นต้องบันทึกและกู้คืนการลงทะเบียน (ใช้เพียงอย่างเดียวalและecxซึ่งการfastcallประชุมอนุญาตให้ปิดบัง)


ดีนี้จะใช้เวลาฉันกลับ :)
fredoverflow

หนึ่งในโซลูชั่นที่ยอดเยี่ยมที่สุด! แต่ซอร์สโค้ดไม่ได้มีขนาด 13 ไบต์จริง ๆ มีเพียงรูปแบบที่คอมไพล์แล้วเท่านั้น (ซึ่งฉันคิดว่าพวกเราสองสามคนอยากจะเขียนใน hex editor)
ต่อ Lundberg

3
ให้เขาเป็นผู้ชนะ Byte = character เป็นการตีความที่สมเหตุสมผลอย่างสมบูรณ์แบบที่นี่
Joshua

7
@PerLundberg ฉันเห็นซอร์สโค้ดในกรณีนี้ว่าเป็น "วิธีการทำงาน" คำอธิบายแบบขยาย / แสดงความคิดเห็นที่ผู้คนจำนวนมากรวมอยู่ในภาษาที่กะทัดรัดเป็นพิเศษ สำหรับโปรแกรมขนาดเล็กเช่นนี้มันสามารถเขียนด้วยมือได้ดีมาก :)
ปุย

@fluffy จุดยุติธรรม และใช่, จำนวนคนที่สามารถเขียนรหัสไบนารี่ด้วยหัวใจได้อย่างแน่นอน> 0, ถึงแม้ว่าฉันจะไม่รู้จักใครที่ไม่รู้จักตัวเอง ;)
ต่อ Lundberg


14

CJam, 6 ไบต์

'clW(<

นี่เป็นโปรแกรมเต็มรูปแบบที่อ่านสตริงผ่าน STDIN

คำอธิบาย :

'c               "Put character c on stack";
  l              "Read a line from STDIN";
   W             "W is a predefined variable with value -1";
    (            "Decrease the value by 1";
     <           "Remove last 2 characters from the string on stack, the input argument";

ลองออนไลน์ได้ที่นี่


ไม่-2ดีเหมือนกันW(ใช่ไหม
ผลไม้ที่แยกจากกัน


11

brainfuck - 25 23 ไบต์

,[>,]<-----.<,<[<]>[.>]

หากภาษาที่คุณเลือกไม่รองรับฟังก์ชั่นโปรแกรมทั้งหมดก็สามารถใช้ได้เช่นกัน

นี่เป็นโปรแกรมทั้งหมดที่รับอินพุตจาก STDIN

,[>,]      get all bytes of input
<-----.    subtract 5 from last byte (always "h"; "h" minus 5 = "c") and print result
<,         set second last byte to 0 by abusing comma
<[<]>      go to first byte
[.>]       print byte and move right until hitting 0

ขั้นตอนนี้จะไม่เป็นการปิดขอบด้านซ้ายของเทปเมื่อ [<]
feersum

@feersum หากล่ามของคุณอนุญาตให้คุณก้าวออกจากขอบด้านซ้ายได้ ทุกคนที่ฉันเคยใช้ลูปเทป
undergroundmonorail

2
@feersum หากคุณต้องการลอง แต่ล่ามของคุณอนุญาตให้คุณตกลงคุณสามารถแก้ไขได้ด้วย>การเริ่มต้น
undergroundmonorail

10

Haskell - 23 ตัวอักษร

('c':).takeWhile(/='.')

Haskell - 16 ตัวอักษรตามที่แนะนำโดย nimi

('c':).init.init

2
การดร็อปอักขระ 2 ตัวสุดท้ายinit.initแทนที่จะใช้ทั้งหมดจนถึงอักขระแรก.จะบันทึกไม่กี่ไบต์
nimi

@nimi นั่นเป็นคำแนะนำที่ยอดเยี่ยม!
fredoverflow

10

C, 38

ดูที่ Ideone

f(s,o){snprintf(o,strlen(s),"c%s",s);}

sเป็นตัวชี้ไปยังสตริงอินพุตและoเป็นตำแหน่งที่เอาต์พุตควรถูกเขียนไป

snprintfผมพบว่าวิธีที่จะละเมิด สตริงการส่งออกสิ่งอำนวยความสะดวกที่เกิดขึ้นจะเป็นหนึ่งในตัวละครที่สั้นกว่าการป้อนข้อมูลและความยาวสูงสุดของสตริงที่เขียนโดยsnprintf1 น้อยกว่าการโต้แย้งจึงตัดออกn .hหมายเหตุ: เทคนิคนี้จะไม่ทำงานกับการใช้งานของ Microsoft เพราะทำสิ่งที่ผิดและล้มเหลวในการยกเลิกสตริง


8

ไฟล์ Windows Batch 11

@echo c%~n1

พารามิเตอร์แรกที่ส่งผ่านคือ% 1 ตัวปรับ ~ n ส่งคืนเฉพาะชื่อไฟล์ที่ไม่มีส่วนขยาย

หากเป็นที่ยอมรับเพื่อสะท้อนคำสั่งที่ขยายไปยังหน้าจอเช่นกันดังนั้นการเริ่มต้น @ สามารถลบออกได้


8

TIS Node Type T21 Architecture - 85 ไบต์

คำตอบนี้เป็นเพียงเพื่อความสนุกสนาน ภาษามีอยู่หลังจากการเขียนนี้ท้าทายและฉันจึงไม่สามารถชนะด้วย (ไม่ใช่ว่าฉันกำลังจะไป)

โอเคฉันสนุกไปกับสิ่งนี้ ฉันควรจะเรียกภาษา "TIS-100" แต่ทำไมตัวละครแตก? : D

TIS-100 เป็นเกมเกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์ด้วยสถาปัตยกรรมที่แปลกและแปลกตา ฉันเขียนปริศนาที่กำหนดเองสำหรับความท้าทายนี้ซึ่งทำให้ฉันสามารถนำเข้าและตรวจสอบผลลัพธ์กับ "สตริง" ที่ถูกต้อง ขออภัยไม่มีวิธีจัดการสตริงหรืออักขระดังนั้นโปรแกรมนี้ใช้ค่า ASCII ของแต่ละอักขระสำหรับอินพุตและเอาต์พุต

หากคุณต้องการที่จะเห็นมันในการดำเนินการที่คุณสามารถใช้โปรแกรมจำลองนี้หรือเพียงแค่ดูฉันทำงานในเกมที่เกิดขึ้นจริงที่นี่ D:MOV UP NILโปรดทราบว่าในวิดีโอบรรทัดสุดท้ายของโหนดแรกคือ หลังจากทำวิดีโอเสร็จฉันก็รู้ว่าฉันสามารถลงสนามไปD:ADD UPได้ ฟังก์ชั่นไม่มีความแตกต่างเพราะค่าของ ACC จะถูกเขียนทับทันที

นี่คือสตริงที่ฉันใช้สำหรับการนับไบต์ของฉัน:

MOV 99 ANY
MOV -46 ACC
ADD UP
JEZ D
ADD ACC ANY
JRO -5
D:ADD UP
MOV UP ANY
MOV UP ANY

นั่นคือข้อความของแต่ละโหนดที่ไม่ว่างเปล่าคั่นด้วยการขึ้นบรรทัดใหม่ (เพิ่ม 1 ไบต์อย่างมีประสิทธิภาพสำหรับแต่ละโหนดที่ใช้เกินกว่าโหนดแรกสะท้อนกฎของเราเกี่ยวกับรหัสในหลายไฟล์)


7

Dyalog APL (8 ตัวอักษร)

'c',¯2↓⊢

วิธีการแก้ปัญหาตรงนี้เป็นเช่นเดียวกับการแก้ปัญหา J ฉันส่ง แต่ใช้ตัวละครตัวหนึ่งน้อยเนื่องจากเป็นหนึ่งในตัวละครที่น้อยกว่า}.


7

J (9 ตัวอักษร)

'c',_2}.]
  • |yคือขนาดของy(เรียกอีกอย่างว่าค่าสัมบูรณ์)
  • x }. yวาง|xรายการจากy; รายการจะถูกดร็อปจากด้านหน้าถ้าxเป็นบวกจากท้ายถ้าxเป็นลบ
  • x , yผนวกxและy.
  • 'c' , _2 }. yการเปลี่ยนแปลงที่คุณต้องการหรือไม่ 'c' , _2 }. ]ในสัญกรณ์โดยปริยายนี้สามารถแสดงเป็น

7

นกกระจอกเทศ 0.6.0 , 8 ตัวอักษร

););"c\+

)เป็นโอเปอเรเตอร์ "right uncons" เมื่อนำไปใช้สตริงก็จะเปิดตัวอย่างเช่นเข้า`foo` จะใช้ในการป๊อปปิดอักขระพิเศษและจะทำอีกครั้ง`fo` `o`;

จากนั้น"cจะถูกผลัก `c`นี้เป็นเพียงชื่อย่อสำหรับ

\+ สลับองค์ประกอบสแต็กสองรายการด้านบนและต่อกัน


คุณสร้างภาษานี้หรือไม่
Ismael Miguel

@IsmaelMiguel ใช่ (ดูrepo หลักของ Github )
Doorknob

ฉันว่าอย่างนั้น ฉันตรวจสอบแล้วจึงคิดเกี่ยวกับมัน ไม่มีการอ้างอิงในภาษานั้นทุกที่ เฉพาะที่นี่ ดังนั้นฉันคิดว่ามันถูกสร้างขึ้นโดยคุณ สำหรับผู้ชายอายุ 14 ปีคุณเขียนโปรแกรมได้ไกลมาก +1000 สำหรับสิ่งนั้น!
Ismael Miguel

@IsmaelMiguel อ๊ะขออภัยควรบอกคุณว่าฉันKeyboardFireบน Github ขอบคุณ!
Doorknob

คุณไม่จำเป็นต้อง มันเกือบจะส่อให้เห็น ฉัน ismael-miguel (ดั้งเดิมมากตรวจสอบgithub.com/ismael-miguel ) ฉันไม่มีอะไรน่าสนใจและมีประโยชน์ แต่คุณสามารถตรวจสอบได้ แต่ฉันสนใจภาษาของคุณ สิ่งที่สมบูรณ์แบบเพียงอย่างเดียวคือคลาส UIntArray สำหรับ php ( github.com/ismael-miguel/php-uintarrayหากคุณสนใจ)
Ismael Miguel

7

piet (9x11 = 99 8X11 = 88)

v2

ลองอีกครั้ง (2x37 = 74)

ป้อนคำอธิบายรูปภาพที่นี่

ยากที่จะทำให้มีขนาดเล็กลงเนื่องจากต้องสร้าง 99 ('c') และ 46 ('.') และใช้พื้นที่ในการนั่ง


1
Piet ไม่เคยวัดเป็นตัวอักษรเพียง codels ดังนั้นคุณไม่จำเป็นต้องพูดถึง 0 chars bit :) อีกทั้งยังมีสีขาวจำนวนมาก
Sp3000

พยายามบีบอัด แต่มันค่อนข้างยาก มีปัญหาในการทำให้มันยุติลงถ้าฉันลบแถวหรือคอลัมน์อื่นออกไป
captncraig

นี่เป็นการโกง แต่ฉันชอบมัน นี่เป็นเหมือนการใช้/dev/nullเป็นซอร์สโค้ดของคุณ
Ismael Miguel

2
ตาม META ( meta.codegolf.stackexchange.com/questions/4782/… ) โปรแกรมของคุณไม่จำเป็นต้องทำให้เสร็จ ตราบใดที่มันเป็นหน้าที่ของคุณโปรแกรมของคุณสามารถทำงานได้ตลอด อ่านคำตอบแรกของคำถาม
Ismael Miguel

6

F # - 39 37 วันที่ 31

31 - เพราะการเรียงพิมพ์ในหิน F #!

fun s->("c"+s).Replace(".h","")

37

fun(s:string)->"c"+s.Replace(".h","")

39

fun(s:string)->"c"+s.Remove(s.Length-2)

ไม่ทำงานสำหรับส่วนหัวที่ชื่อ foo.hoo.h
FUZxxl

3
@FUZxxl ไม่มีส่วนหัวดังกล่าวในไลบรารีมาตรฐาน C
fredoverflow

@FredOverflow คุณอาจต้องการระบุชุดของชื่อที่ใช้ในการแปลง ตอนนี้คำถามของคุณถูกใช้ไปในทางที่อาจทำให้คนคิดว่าข้อมูลประเภทนี้ต้องทำงานอย่างถูกต้อง
FUZxxl

@FUZxxl ฉันได้อัปเดตคำถามตาม
fredoverflow



4

GNU sed -r, 14

sed ไม่มีแนวคิดของฟังก์ชั่นใด ๆ ดังนั้นนี่คือโปรแกรม sed ที่สมบูรณ์แทน:

s/(.*)../c\1/

เอาท์พุต

$ sed -r 's/(.*)../c\1/' <<< stdio.h
cstdio
$ 

The -rถูกรวมอยู่ในคะแนนเป็นตัวละครพิเศษหนึ่งตัว


วิธีนี้ไม่ถูกต้อง: มันควรจะเป็นs/\(.*\)\.h/c\1/แทน
FUZxxl

@FUZxxl - ฉันถือว่าสมมติว่า-rผ่านไปแล้ว ตามปกติกอล์ฟรหัสฉันต้องนับว่าเป็นจุดพิเศษ
Digital Trauma

@DigitalTraume สังเกตว่า-rไม่ใช่ตัวเลือกมาตรฐานและไม่สามารถใช้งานได้นอก GNU sed คุณอาจต้องการเปลี่ยนชื่อภาษาเป็น GNU sed เพื่อให้สะท้อนถึงสิ่งนั้น
FUZxxl

@FUZxxl ใช่ เสร็จสิ้น
Digital Trauma

2
\.hสามารถย่อให้เล็กลงได้..
Steven Taschuk

3

พรีลูดตัวละคร 31 ตัว

เนื่องจากการส่งโปรแกรมเต็มรูปแบบเป็นที่ยอมรับได้นี่คือโปรแกรมที่อ่านส่วนหัวสไตล์ C จาก STDIN และพิมพ์ส่วนหัวสไตล์ C ++ ไปยัง STDOUT:

99+9+(?)###(#
9(1-)       ^)(!)

สิ่งนี้ต้องการล่ามที่สอดคล้องกับมาตรฐานซึ่งพิมพ์เอาต์พุตเป็นรหัสอักขระ หากคุณกำลังใช้งูหลามล่ามNUMERIC_OUTPUT = Falseคุณจะต้องตั้งค่า

นอกจากนี้ยังกำหนดให้ไม่มีการขึ้นบรรทัดใหม่ของ STDIN

คำอธิบาย

ในโหมโรงบรรทัดทั้งหมดจะถูกดำเนินการในแบบคู่ขนานทีละคอลัมน์ แต่ละบรรทัดมีสแต็กของตัวเองเริ่มต้นเป็นจำนวนอนันต์ของ0s

99+9+
9(1-)

นี่เป็นระยะสั้นที่สุดที่ฉันสามารถขึ้นไป99บนสแต็คด้านบน (รหัสตัวละครของc) ครั้งแรกที่ฉันเพิ่มขึ้น18บนสแต็คด้านบนและกด a 9ลงบนสแต็กด้านล่าง จากนั้นด้านล่างจะนับลง0ในแบบวนซ้ำในขณะที่สแต็คด้านบนจะเพิ่มจำนวนมาก9ขึ้น สิ่งนี้จะรวม99อยู่ในสแต็คด้านบนและสแต็กด้านล่างจะถูกทิ้งไว้ด้วย0s อีกครั้ง โปรดทราบว่าทั้งหมด+9+เป็นส่วนหนึ่งของลูปดังนั้นจึงมีการดำเนินการเพิ่มสองครั้งต่อการทำซ้ำ แต่นั่นไม่ใช่ปัญหาขอบคุณการจัดหาที่ไม่มีที่สิ้นสุดของ0ด้านล่าง

ตอนนี้(?)อ่าน STDIN ครั้งละหนึ่งตัวอักษรและกดลงบนสแต็กด้านบน ลูปจะสิ้นสุดที่ส่วนท้ายของอินพุตเมื่อ?กดศูนย์ ###ได้รับกำจัดของที่ศูนย์และh .ตอนนี้ลูปถัดไปจะแสดงหมายเลขจากสแต็คด้านบนในขณะที่คัดลอกไปยังสแต็กด้านล่าง สิ่งนี้จะย้อนกลับกองซ้อน โปรดทราบว่าวงเล็บเปิดและปิดอยู่ในบรรทัดที่แตกต่างกัน - นี่ไม่ใช่ปัญหาเนื่องจากตำแหน่งแนวตั้งของ)ไม่เกี่ยวข้องใน Prelude แต่มันช่วยฉันเป็นไบต์ในบรรทัดแรก

สุดท้าย(!)พิมพ์อักขระทั้งหมดจนกว่าสแต็กจะว่างเปล่า


3

Pyth, 7 ตัวอักษร

L+\cPPb

คำอธิบาย:

L         def y(b):return
 +\c                      "c" +
    PPb                         b[:-1][:-1]

ลองสิ่งนี้:

L+\cPPb
y"stdio.h

บนPyth Compiler / Executor ออนไลน์


หากได้รับอนุญาตให้ใช้โปรแกรมแบบเต็ม:

Pyth, 6 ตัวอักษร

+\cPPQ

ฉันไม่เคยเห็น Pyth คุณจะใจดีและอธิบายรหัสหรือไม่ :)
fredoverflow


ฉันเชื่อว่าคุณสามารถใช้PPbแทน<b_2
FryAmTheEggman

@FryAmTheEggman ขอบคุณ
isaacg

ดูเหมือนว่าอนุญาตให้โปรแกรมเต็มรูปแบบดังนั้นคุณสามารถไปที่ 6
FryAmTheEggman

3

C ++ 14, 41 ตัวอักษร

[](auto&s){s="c"+s.substr(0,s.size()-2);}

แรงบันดาลใจจากนี้คำตอบอื่น ๆ ฉันทำมันเป็นคำตอบที่แยกจากกันเพราะที่นี่ผมใช้คุณลักษณะที่เป็นของใหม่ใน c ++ 14 เป็นแลมบ์ดาทั่วไป

เห็นในการกระทำที่นี่


2

T-SQL - 58 ตัวอักษร

CREATE PROC Q(@ VARCHAR(MAX))AS
SELECT'c'+LEFT(@,LEN(@)-2)

เรียกใช้เป็น EXEC Q (สตริงของคุณที่นี่)


2

Perl - 20 ตัวอักษร

sub{c.pop=~s/..$//r}

หมายเหตุวิธีcคือ bareword use strictและเป็นเช่นนี้ต้องขาด สิ่งนี้จะต้องใช้เป็นนิพจน์ไม่ใช่คำสั่ง


2

Marbelous, 24

@063
-Z//
3W<C+Z
]]!!
@0

รับอินพุตผ่าน STDIN เอาต์พุตไปยัง STDOUT

สิ่งนี้ทำงานได้โดยการตรวจสอบแต่ละไบต์ด้วย.( 0x46) เนื่องจาก0x46ไม่สามารถใส่ภายในฐานหลัก -36 ตัวเดียวเราจะลบ 35 ( Z) ก่อนเปรียบเทียบและเพิ่มกลับเข้าไปก่อนที่จะส่งออก

หินอ่อนแต่ละอันมีการทำซ้ำโดย3W(นักลงทุนสามทาง แต่ด้านซ้ายจะถูกตัดออกจากด้านข้างของกระดาน) หินอ่อนส่งลงด้านล่างดึงข้อมูลไบต์ถัดไปจาก STDIN หินอ่อนทางด้านขวาจะถูกตรวจสอบ.แล้วส่งออกหรือส่งไปยัง!!ซึ่งจะยุติโปรแกรม

โปรแกรมเริ่มต้นโดยการผ่านc( 0x63) ผ่านซึ่งจะถูกส่งออกไปยัง STDOUT

ลองออนไลน์ได้ที่นี่ ต้องเปิดใช้งานไลบรารีต้องปิดใช้งานบอร์ดรูปทรงกระบอก


2

C, 64

สั้นกว่าการอ้างอิง c เล็กน้อย:

f(char*h){char*d=strstr(h,".");memmove(h+1,h,d++-h);*d=0;*h=99;}

น่าจะเป็นสนามกอล์ฟที่มากขึ้นที่จะทำสิ่งนี้


C, 48 (แฮ็ค libc)

f(char*h){strcpy(h+1,h);*strstr(h,".")=0;*h=99;}

strcpymanpage อย่างชัดเจน "สตริงอาจไม่ทับซ้อน" อย่างไรก็ตามฉันพบว่า libc ที่ฉันใช้ดูเหมือนจะถูกเข้ารหัสอย่างปลอดภัยเพื่อจัดการสิ่งนี้อย่างถูกต้องเหมือนกันทั้งหมด นี่คือ GNU C Library (Ubuntu EGLIBC 2.19-0ubuntu6.4) บน Ubuntu 14.04


การละเว้นประเภทส่งคืนของฟังก์ชันถูกกฎหมายใน C89 หรือไม่
fredoverflow

1
@FredOverflow ใช่ - GCC -std=c89รวบรวมหรูแห่งนี้เพียงกับ codegolf.stackexchange.com/a/2204/11259
บาดเจ็บทางดิจิตอล

@FredOverflow ใช่ ชนิดส่งคืนค่าเริ่มต้นเป็นintประเภทการกลับมาเริ่มต้นที่
FUZxxl

man page จะเป็นการทำซ้ำมาตรฐาน - การคอมไพล์นี้ด้วย VC ++ (VS2012) จะให้ "cstdii" สำหรับ "stdio.h" ไม่ได้ตรวจสอบ ICC / Sun / clang แต่รุ่น 64- ถ่านของคุณบอกว่า "ทำไม" - มันสั้นที่สุดเท่าที่จะทำได้ (ถูกกฎหมาย) อยู่ใน C.
frasnian



2

mk, 34 ตัวอักษร

mk (1) เป็นแผนทดแทน 9 สำหรับการทำ เพื่อความสนุก mkfile นี้จะแปลงชื่อส่วนหัว C เป็นชื่อส่วนหัว C ++:

c%:Q:
    :

%.h:Q: c%
    echo $prereq

มีแท็บเดียวก่อนและ: echoใช้แบบนี้:

% mk stdio.h
cstdio



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.