bcc - ออนไลน์ในคลาวด์

นี่คือคำสั่ง 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



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด