นี่คือคำสั่ง bcc ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
bcc - คอมไพเลอร์ C ของ Bruce
เรื่องย่อ
สำเนาลับ [-03EGNOPSVcegvwxว] [-Aas_option] [-Beexecutable_prefix] [-กำหนด] [-อูนเดฟ]
[-Mc_โหมด] [-o ออกจากไฟล์] [-แอนซี] [-Ccc1_option] [-pcpp_option] [-Iinclude_dir]
[-lld_option] [-Ttmpdir] [-Qc386_ตัวเลือก] [-ttext_segno] [ld_options] [แฟ้มข้อมูล]
DESCRIPTION
สำเนาลับถึง เป็นคอมไพเลอร์ C อย่างง่ายที่สร้างแอสเซมเบลอร์ 8086 นอกเหนือจากเวลาคอมไพเลอร์คอมไพเลอร์
ตัวเลือกอนุญาตรุ่น 80386 หรือ 6809 คอมไพเลอร์เข้าใจ K&R C แบบดั้งเดิมด้วยjust
ข้อจำกัดที่ฟิลด์บิตถูกแมปกับหนึ่งในประเภทจำนวนเต็มอื่นๆ
การดำเนินการเริ่มต้นคือการสร้างไฟล์เรียกทำงาน 8086 ที่เรียกว่า ออก จากไฟล์ต้นทาง
OPTIONS
-แอนซี ผ่านแหล่ง C ผ่าน ไม่ก่อให้เกิดประโยชน์ หลังจากประมวลผลล่วงหน้าและก่อนรหัส
รุ่น. นี้จะช่วยให้ บาง ansi C ที่จะรวบรวม แต่มันแน่นอน ไม่ a
คอมไพเลอร์ ansi-C ที่แท้จริง
-0 เป้าหมาย 8086 (ทำงานบนโฮสต์ 80386 แต่ไม่ใช่ 6809)
-3 เป้าหมาย 80386 (อาจทำงานบนโฮสต์ 8086 แต่ไม่ใช่ 6809)
-A ส่งตัวเลือกที่เหลือไปยังแอสเซมเบลอร์ (เช่น -Al -Alistfile สำหรับรายการ)
-B คำนำหน้าสำหรับเส้นทางการค้นหาที่เรียกใช้งานได้ (ตามปกติ ลำดับการค้นหาคือเส้นทางทั้งหมด
ระบุโดยใช้ -Bตามลำดับ จากนั้นเส้นทางที่กำหนดในตัวแปรสภาพแวดล้อม
BCC_EXEC_PREFIX หากมีการตั้งค่าไว้ แสดงว่าคอมไพล์ในค่าเริ่มต้น (เช่น
/usr/lib/bcc/ ตามด้วย / usr / bin /)
-C ส่งตัวเลือกที่เหลือไปที่ bcc-cc1 โปรดดูตัวเลือกการสร้างโค้ด
-D ตัวประมวลผลล่วงหน้ากำหนด
-E ผลิตเอาต์พุตพรีโปรเซสเซอร์ให้ได้มาตรฐาน
-G ผลิตวัตถุ GCC (เหมือนกับ -Mg)
- อิกซี่ รวมการค้นหา 'xyz' เส้นทาง
-I อย่าเพิ่มค่าเริ่มต้นรวมถึงรายการค้นหา
-Lxyz เพิ่มชื่อไดเร็กทอรี 'xyz' ที่ส่วนหัวของรายการไดเร็กทอรีไลบรารีที่ค้นหา
-L อย่าเพิ่มไลบรารีเริ่มต้นในรายการค้นหา
- นพ แก้ไขอาร์กิวเมนต์สำหรับการส่งผ่านทั้งหมดเพื่อสร้างไฟล์ COM ที่ปฏิบัติการได้ของ MSDOS เหล่านี้
เป็นไฟล์ปฏิบัติการรุ่นเล็ก use -i เพื่อให้ได้โมเดลจิ๋ว
-ผอ ตั้งค่า bcc เพื่อส่งผ่าน -c และ -f อาร์กิวเมนต์ไปยังตัวสร้างโค้ดให้เล็กลงเร็วขึ้น
รหัส. โปรดทราบว่ารหัสนี้ไม่เข้ากันกับแบบแผนการเรียกมาตรฐานดังนั้น a
มีการลิงก์ไลบรารี C เวอร์ชันต่างๆ ด้วย
- มค ตั้งค่า bcc เพื่อส่งผ่าน -c อาร์กิวเมนต์ไปยังตัวสร้างโค้ดสำหรับโค้ดที่เร็วกว่าที่เล็กกว่า
โปรดทราบว่า libc มาตรฐานมักจะโปร่งใสสำหรับสิ่งนี้ แต่มีข้อยกเว้น
-นางสาว แก้ไขอาร์กิวเมนต์สำหรับการส่งผ่านทั้งหมดและเลือก C-library เพื่อสร้างสแตนด์อโลน
ไฟล์ปฏิบัติการ Linux-86
-มล เปลี่ยนไปใช้ตัวสร้างโค้ดและไลบรารี i386-Linux การกำหนดค่านี้ยอมรับ
-z ตั้งค่าสถานะเพื่อสร้างไฟล์ QMAGIC a.out แทน OMAGIC ปกติ
-มก เปลี่ยนไปใช้ตัวสร้างโค้ด i386-Linux และสร้างไฟล์อ็อบเจ็กต์ OMAGIC ที่สามารถทำได้
เชื่อมโยงกับ gcc บางรุ่น; น่าเสียดายที่เวอร์ชันล่าสุดใช้
'collect2' เพื่อเชื่อมโยงและเกิดปัญหานี้
-N ทำให้ตัวเชื่อมโยงสร้างไฟล์ a.out ดั้งเดิม (Linux OMAGIC) หากรวมกับ -3 the
ไฟล์ปฏิบัติการจะทำงานภายใต้ Linux-i386
-O ปรับให้เหมาะสมโทร ชาวอียิปต์โบราณ(1) เพื่อเพิ่มประสิทธิภาพโค้ด 8086 Specifiers เพื่อเลือกกฎเกณฑ์ ชาวอียิปต์โบราณ
ควรใช้สามารถต่อท้าย -O และสามารถทำซ้ำตัวเลือกได้
-P ผลิตเอาต์พุตพรีโปรเซสเซอร์โดยไม่มีหมายเลขบรรทัดไปยังเอาต์พุตมาตรฐาน
-Q ส่งตัวเลือกแบบเต็มไปที่ c386 (สำหรับรุ่น c386 เท่านั้น)
-S ผลิตไฟล์แอสเซมเบลอร์
-T ไดเร็กทอรีชั่วคราว (แทนที่ค่าก่อนหน้าและค่าเริ่มต้น ค่าเริ่มต้นมาจาก
ตัวแปรสภาพแวดล้อม TMPDIR หากตั้งค่าไว้ มิฉะนั้น / Tmp)
-U ตัวประมวลผลล่วงหน้า undefine
-V พิมพ์ชื่อไฟล์ที่กำลังรวบรวม
-X ส่งตัวเลือกที่เหลือไปยังตัวเชื่อมโยง (เช่น -X-Ofile ถูกส่งไปยังตัวเชื่อมโยงเป็น
-โอไฟล์)
-c สร้างไฟล์วัตถุ
-f เปิดการสนับสนุนจุดลอยตัว ไม่มีผลกับ i386 เปลี่ยนไลบรารี libc ด้วย 8086
รหัส.
-g สร้างข้อมูลการดีบัก (ละเว้น)
-o ชื่อไฟล์เอาต์พุตตามนี้ (แอสเซมเบลอร์ อ็อบเจ็กต์ หรือไฟล์เรียกทำงาน) (ตามปกติ)
-p สร้างข้อมูลโปรไฟล์ (ละเว้น)
-t1 ส่งผ่านไปยังแอสเซมเบลอร์เพื่อกำหนดหมายเลขเซ็กเมนต์ข้อความใหม่สำหรับโปรแกรมหลายเซ็กเมนต์
-v พิมพ์ชื่อและ args ของกระบวนการย่อยที่กำลังรัน ชื่อพิมพ์ของ -v ตั้งแต่สองตัวขึ้นไปของ
กำลังยกเลิกการลิงก์ไฟล์ สามหรือมากกว่า -v พิมพ์ชื่อเส้นทางที่กำลังค้นหา
-w ระงับการวินิจฉัยคำเตือนใดๆ
-W เลี้ยว on ข้อความเตือนของแอสเซมเบลอร์
-x ไม่รวม crt0.o ในลิงค์
-i ไม่ผ่าน -i ไปยังตัวเชื่อมโยงเพื่อสร้างไฟล์ปฏิบัติการที่ไม่บริสุทธิ์
อ็อพชันอื่นถูกส่งไปยังตัวเชื่อมโยง โดยเฉพาะ -lx, -M, -m, -s, -H
รหัส GENERATOR OPTIONS
นี่คือตัวเลือกทั้งหมดที่ตัวสร้างโค้ดส่งผ่าน สำเนาลับ-cc1 เข้าใจนะ เฉพาะบางคนเท่านั้นที่จะ
มีประโยชน์สำหรับ -C ตัวเลือกของสำเนาลับถึง
-0 เป้าหมาย 8086 (ใช้งานได้กับโฮสต์ 80386 ไม่ใช่ 6809)
-3 เป้าหมาย 80386 (อาจทำงานได้แม้ในโฮสต์ 8086 ไม่ใช่ใน 6809)
-D กำหนด (ตามปกติ)
-E ผลิตเอาต์พุตพรีโปรเซสเซอร์ (ตามปกติ)
-I รวมเส้นทางการค้นหา (ตามปกติ)
-P สร้างเอาต์พุตพรีโปรเซสเซอร์โดยไม่มีหมายเลขบรรทัด (ตามปกติ)
-c สร้างรหัสด้วยการบันทึกผู้โทรก่อนเรียกใช้ฟังก์ชัน
-d พิมพ์ข้อมูลการดีบักในเอาต์พุตแอสเซมบลี
-f สร้างรหัสด้วยอาร์กิวเมนต์ที่ 1 ที่ส่งผ่านในการลงทะเบียน (AX, EAX หรือ X)
-l สร้างรหัสสำหรับคำสั่งไบต์ยาว 2 3 1 0 (ใช้งานได้เฉพาะในรหัส 16 บิต) พิเศษ
ไลบรารีของฟังก์ชันตัวช่วยคอมไพเลอร์จำเป็นสำหรับโหมดนี้
-o ชื่อไฟล์เอาต์พุตของแอสเซมเบลอร์ดังต่อไปนี้
-p สร้าง (เกือบ) รหัสที่ไม่ขึ้นกับตำแหน่ง (เฉพาะสำหรับ 6809)
-t พิมพ์ซอร์สโค้ดในเอาต์พุตแอสเซมบลี
-w พิมพ์สิ่งที่ cc1 คิดว่าเป็นตัวนับตำแหน่งในเอาต์พุตการประกอบ
ตัวเลือกทั้งหมดยกเว้น -D, -I และ -o อาจปิดได้โดยทำตามตัวอักษรตัวเลือกโดยa
'-'. ตัวเลือกจะถูกประมวลผลจากซ้ายไปขวาเพื่อให้การตั้งค่าล่าสุดมีความสำคัญ
พรีโปรเซสเซอร์ กำหนด
ตัวประมวลผลล่วงหน้ามีค่าคงที่รายการจำนวนมาก
__BCCC__ 1
ตัวระบุคอมไพเลอร์ โดยปกติใช้เพื่อหลีกเลี่ยงข้อจำกัดของคอมไพเลอร์
__ไฟล์__
ชื่อสตริงของไฟล์อินพุตปัจจุบัน
__ไลน์__
หมายเลขบรรทัดปัจจุบัน
__เอ็มเอสดอส__ 1
คอมไพเลอร์ได้รับการกำหนดค่าสำหรับการสร้างไฟล์ COM ที่ปฏิบัติการได้ของ MSDOS
__สแตนด์อโลน__ 1
คอมไพเลอร์ได้รับการกำหนดค่าสำหรับการสร้างไฟล์เรียกทำงานแบบสแตนด์อโลน
__AS386_16__ 1
คอมไพเลอร์กำลังสร้างแอสเซมเบลอร์ 16 8086 บิตและ #แอสม มีคีย์เวิร์ดสำหรับ
รวมทั้งรหัส 8086
__AS386_32__ 1
คอมไพเลอร์กำลังสร้างแอสเซมเบลอร์ 32 80386 บิตและ #แอสม มีคีย์เวิร์ดสำหรับ
รวมทั้งรหัส 80386
__ผู้โทร_บันทึก__ 1
ข้อตกลงการเรียกคอมไพเลอร์มีการเปลี่ยนแปลงดังนั้นฟังก์ชันการเรียกจะต้องบันทึก SI
และ DI ลงทะเบียนหากมีการใช้งาน (ESI และ EDI บน 80386)
__FIRST_ARG_IN_AX__ 1
ข้อตกลงการเรียกคอมไพเลอร์มีการเปลี่ยนแปลงเพื่อให้ฟังก์ชันการเรียกผ่าน
อาร์กิวเมนต์แรกของฟังก์ชันใน AX (หรือ อีเอเอ็กซ์ ) ลงทะเบียน.
__LONG_BIG_ENDIAN__ 1
เปลี่ยนลำดับของรหัสที่สร้างโดยคอมไพเลอร์ 8086
คำจำกัดความเหล่านี้เกิดขึ้นในคอมไพเลอร์เวอร์ชัน 6809 เท่านั้น
__AS09__ 1
คอมไพเลอร์กำลังสร้างรหัส 6809
__FIRST_ARG_IN_X__ 1
อาร์กิวเมนต์แรกของฟังก์ชันจะถูกส่งผ่านใน X ทะเบียน
__POS_อิสระ__ 1
รหัสที่สร้างขึ้นนั้น (เกือบ) ตำแหน่งเป็นอิสระ
และพวกเรา
BCC_EXEC_PREFIX
ไดเร็กทอรีเริ่มต้นเพื่อค้นหาคอมไพเลอร์ผ่าน
ทีเอ็มพีดีอาร์ ไดเร็กทอรีเพื่อวางไฟล์ชั่วคราว (default / Tmp)
ไดเรกทอรี
รวมส่วนประกอบไลบรารีและคอมไพเลอร์ทั้งหมดจะถูกเก็บไว้ภายใต้ /usr/lib/bcc
ไดเร็กทอรีภายใต้ Linux-i386 ซึ่งจัดวางเหมือนกับa / usr ระบบไฟล์และถ้า bcc เป็น
เพื่อเป็นคอมไพเลอร์หลักบนระบบ มันควรจะย้ายไปที่นั่น การกำหนดค่าสำหรับ
นี้อยู่ใน สำเนาลับถึง ไฟล์ต้นฉบับเท่านั้น ไฟล์เรียกทำงานอื่นๆ ทั้งหมดไม่ขึ้นอยู่กับตำแหน่ง
การติดตั้งไลบรารี่ยังสร้างไฟล์ /usr/lib/liberror.txt, เส้นทางนี้คือ
ฮาร์ดโค้ดลงในไลบรารี C
พื้นที่ สำเนาลับ ปฏิบัติการได้เอง as86 และ ld86 อยู่ใน /usr/bin
ใช้ bcc ออนไลน์โดยใช้บริการ onworks.net