นี่คือคำสั่ง sdcc ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
sdcc - คอมไพเลอร์ C อุปกรณ์ขนาดเล็ก
เรื่องย่อ
เอสดีซีซี [ตัวเลือก] ชื่อไฟล์
คำเตือน
ข้อมูลใน man page นี้เป็นข้อมูลที่แยกจากเอกสารทั้งหมดของ SDCC และ is
จำกัดไว้ที่ความหมายของตัวเลือก
สำหรับเอกสารฉบับสมบูรณ์และเป็นปัจจุบัน โปรดดูที่ SDCC ผู้รวบรวม ผู้ใช้งาน แนะนำ.
DESCRIPTION
SDCC เป็นโอเพ่นซอร์สฟรี กำหนดเป้าหมายใหม่ได้ เพิ่มประสิทธิภาพคอมไพเลอร์ ANSI-C ที่ออกแบบมาสำหรับ 8 บิต
ไมโครโปรเซสเซอร์ เวอร์ชันปัจจุบันมุ่งเป้าไปที่ไมโครโปรเซสเซอร์ที่ใช้ Intel MCS51 (8031,
8032, 8051, 8052 เป็นต้น), ดัลลัส DS80C390 รุ่นต่างๆ, Freescale (เดิมชื่อ Motorola) HC08 และ
MCU ที่ใช้ Zilog Z80 (z80, z180, gbz80, Rabbit 2000/3000) สามารถกำหนดเป้าหมายใหม่สำหรับผู้อื่น
ไมโครโปรเซสเซอร์ รองรับ Microchip PIC อยู่ระหว่างการพัฒนา
SDCC ใช้ ASXXXX & ASLINK เวอร์ชันแก้ไข, แอสเซมเบลอร์ retargetable โอเพ่นซอร์สฟรี &
ลิงค์เกอร์.
SDCC มีนามสกุลภาษาที่กว้างขวางเหมาะสำหรับการใช้งานไมโครคอนโทรลเลอร์ต่างๆ และ
ฮาร์ดแวร์พื้นฐานอย่างมีประสิทธิภาพ
SDCC ใช้ ASXXXX & แอสลิงค์, ฟรีแวร์, แอสเซมเบลอร์ & ลิงเกอร์ที่กำหนดเป้าหมายได้ใหม่ SDCC มี
ส่วนขยายภาษาที่กว้างขวางเหมาะสำหรับการใช้งานไมโครคอนโทรลเลอร์ต่างๆ และ
ฮาร์ดแวร์พื้นฐานอย่างมีประสิทธิภาพ
คอมไพเลอร์ยังอนุญาตให้ฝังโค้ดแอสเซมเบลอร์แบบอินไลน์ได้ทุกที่ในฟังก์ชัน ใน
นอกจากนี้ยังสามารถเรียกกิจวัตรที่พัฒนาขึ้นในการประกอบ
PROCESSOR การคัดเลือก OPTIONS
-mmcs51
สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล MCS51 (8051) นี่คือค่าเริ่มต้น
เป้าหมายของโปรเซสเซอร์
-mds390
สร้างโค้ดสำหรับโปรเซสเซอร์ DS80C390
-mds400
สร้างโค้ดสำหรับโปรเซสเซอร์ DS80C400
-mz80 สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Z80
-mhc08 สร้างรหัสสำหรับโปรเซสเซอร์ GameBoy Z80
-mz80 สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Zilog Z80
-mz180 สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Zilog Z180
-mr2k สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Rabbit 2000 / Rabbit 3000"
-mr3ka สร้างรหัสสำหรับโปรเซสเซอร์ตระกูล Rabbit 2000 / Rabbit 3000 ตรวจสอบ XXXXX"
-mgbz80
สร้างรหัสสำหรับโปรเซสเซอร์ GameBoy Z80 (ไม่ได้รับการดูแลอย่างแข็งขัน)
-mpic14
สร้างโค้ดสำหรับโปรเซสเซอร์ Microchip PIC 14 บิต (p16f84 และรุ่นต่างๆ ใน
พัฒนาไม่ครบ)
-mpic16
สร้างโค้ดสำหรับโปรเซสเซอร์ Microchip PIC 16 บิต (p18f452 และรุ่นต่างๆ ใน
พัฒนาไม่ครบ)
-mtlcs900h
สร้างรหัสสำหรับโปรเซสเซอร์ Toshiba TLCS-900H (ไม่ได้รับการดูแล ไม่สมบูรณ์)
-mxa51 สร้างรหัสสำหรับโปรเซสเซอร์ Phillips XA51 (ไม่ได้รับการดูแล ไม่สมบูรณ์)
-mstm8 สร้างรหัสสำหรับโปรเซสเซอร์ STM8
พรีโปรเซสเซอร์ OPTIONS
-I
ตำแหน่งเพิ่มเติมที่ตัวประมวลผลล่วงหน้าจะค้นหา `<..h>' หรือ `..h'
ไฟล์
-D
คำนิยามบรรทัดคำสั่งของมาโคร ผ่านไปยังพรีโปรเซสเซอร์
-M บอกตัวประมวลผลล่วงหน้าให้แสดงกฎที่เหมาะสมสำหรับการอธิบาย
การพึ่งพาของแต่ละไฟล์อ็อบเจ็กต์ สำหรับแต่ละไฟล์ต้นฉบับ ตัวประมวลผลล่วงหน้าจะส่งออก
กฎข้อหนึ่งที่เป้าหมายคือชื่อไฟล์อ็อบเจ็กต์สำหรับไฟล์ต้นทางนั้นและใคร
การพึ่งพาคือไฟล์ทั้งหมด `#include'd ในนั้น กฎข้อนี้อาจเป็นบรรทัดเดียวหรือ
อาจจะต่อด้วย `\'-ขึ้นบรรทัดใหม่ถ้ามันยาว รายการกฎจะพิมพ์บน
เอาต์พุตมาตรฐานแทนโปรแกรม C ที่ประมวลผลล่วงหน้า `-ม' หมายถึง `-อี'.
-C บอกผู้ประมวลผลล่วงหน้าว่าอย่าทิ้งความคิดเห็น ใช้กับ `-อี' ตัวเลือก
-มม Like `-ม' แต่ผลลัพธ์กล่าวถึงเฉพาะไฟล์ส่วนหัวของผู้ใช้ที่มาพร้อมกับ
`#include "ไฟล์"' ไฟล์ส่วนหัวของระบบที่รวมอยู่ใน `#include ' ถูกละเว้น
-A คำถามคำตอบ)
ยืนยันคำตอบสำหรับคำถามในกรณีที่ทดสอบด้วยตัวประมวลผลล่วงหน้า
เงื่อนไขเช่น `#if #question(answer)' `-อะ-' ปิดการใช้งานมาตรฐาน
การยืนยันที่ปกติจะอธิบายเครื่องเป้าหมาย
-A คำถาม
(คำตอบ) ยืนยันคำตอบของคำถาม ในกรณีที่ทดสอบด้วย a
ตัวประมวลผลล่วงหน้าแบบมีเงื่อนไข เช่น `#if #question(answer)' `-อะ-' ปิดการใช้งาน
การยืนยันมาตรฐานที่ปกติจะอธิบายเครื่องเป้าหมาย
-ยูมาโคร
ยกเลิกการกำหนดมาโครมาโคร `-ยู' ตัวเลือกจะได้รับการประเมินหลังจากทั้งหมด `-D' ตัวเลือก แต่
ก่อนหน้านี้ `-รวม' และ `-ไอมาครอส' ตัวเลือก
-ดีเอ็ม บอกให้ตัวประมวลผลล่วงหน้าแสดงเฉพาะรายการคำจำกัดความของมาโครที่อยู่ใน
ผลเมื่อสิ้นสุดการประมวลผลล่วงหน้า ใช้กับ '-อี' ตัวเลือก
-วว บอกให้ตัวประมวลผลล่วงหน้าส่งคำจำกัดความมาโครทั้งหมดไปยังเอาต์พุตใน
ลำดับที่เหมาะสมในส่วนที่เหลือของเอาต์พุต
-ดีเอ็น Like `-dD'ยกเว้นอาร์กิวเมนต์แมโครและเนื้อหาจะถูกละเว้น เท่านั้น `#define
ชื่อ' รวมอยู่ในผลลัพธ์
ลิงเกอร์ OPTIONS
-แอล, -lib-เส้นทาง<แน่นอน เส้นทาง ไปยัง เพิ่มเติม ห้องสมุด>
อ็อพชันนี้ถูกส่งไปยังพาธการค้นหาไลบรารีเพิ่มเติมของตัวแก้ไขการเชื่อมโยง NS
ชื่อพาธจะต้องเป็นแบบสัมบูรณ์ ไฟล์ไลบรารีเพิ่มเติมอาจระบุใน
บรรทัดคำสั่ง. ดูส่วนการคอมไพล์โปรแกรมสำหรับรายละเอียดเพิ่มเติม
--xram-loc
ตำแหน่งเริ่มต้นของ ram ภายนอก ค่าเริ่มต้นคือ 0 ค่าที่ป้อน can
อยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --xram-loc 0x8000 or --xram-loc 32768.
--รหัส-loc
ตำแหน่งเริ่มต้นของส่วนรหัส ค่าเริ่มต้น 0 หมายเหตุเมื่อตัวเลือกนี้เป็น
ใช้ตารางเวกเตอร์ขัดจังหวะยังถูกย้ายไปยังที่อยู่ที่กำหนด มูลค่า
ที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น: --รหัส-loc 0x8000 or --รหัส-
loc 32768.
--stack-loc
ค่าเริ่มต้นของตัวชี้สแต็ก ค่าเริ่มต้นของตัวชี้สแต็กคือ
0x07 หากใช้เฉพาะธนาคารลงทะเบียน 0 หากใช้ธนาคารลงทะเบียนอื่น ๆ
ตัวชี้สแต็กถูกเตรียมใช้งานไปยังตำแหน่งที่อยู่เหนือธนาคารรีจิสเตอร์สูงสุดที่ใช้
เช่น. หากใช้ธนาคารลงทะเบียน 1 และ 2 ตัวชี้สแต็กจะมีค่าเริ่มต้นเป็นตำแหน่ง
0x18. ค่าที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --stack-loc
0x20 or --stack-loc 32. หากใช้ธนาคารลงทะเบียนทั้งสี่กองจะเป็น
วางไว้หลังส่วนข้อมูล (เทียบเท่ากับ --stack-หลังข้อมูล)
--stack-หลังข้อมูล
ตัวเลือกนี้จะทำให้สแต็กอยู่ในแรมภายในหลังจาก data
ส่วน
--data-loc
ตำแหน่งเริ่มต้นของส่วนข้อมูล ram ภายใน ค่าเริ่มต้นคือ 0x30ส่วน
ค่าที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --data-loc 0x20 or
--data-loc 32.
--idata-loc
ตำแหน่งเริ่มต้นของ ram ภายในที่กำหนดแอดเดรสทางอ้อม ค่าเริ่มต้นคือ
0x80. ค่าที่ป้อนสามารถอยู่ในรูปแบบเลขฐานสิบหกหรือทศนิยม เช่น --idata-loc
0x88 or --idata-loc 136.
--ออก-fmt-ihx
เอาต์พุตของลิงเกอร์ (โค้ดอ็อบเจ็กต์สุดท้าย) อยู่ในรูปแบบ Intel Hex (นี่คือค่าเริ่มต้น
ตัวเลือก)
--ออก-fmt-s19
เอาต์พุตของตัวเชื่อมโยง (โค้ดอ็อบเจ็กต์สุดท้าย) อยู่ในรูปแบบ Motorola S19
MCS51 OPTIONS
--model-ขนาดใหญ่
สร้างโค้ดสำหรับโปรแกรมโมเดลขนาดใหญ่ ดูรายละเอียดเพิ่มเติมในส่วนโมเดลหน่วยความจำ
หากใช้ตัวเลือกนี้ไฟล์ต้นฉบับทั้งหมดในโปรเจ็กต์ควรคอมไพล์ด้วยสิ่งนี้
ตัวเลือก. นอกจากนี้ รูทีนไลบรารีมาตรฐานถูกคอมไพล์ด้วยโมเดลขนาดเล็ก
พวกเขาจะต้องคอมไพล์ใหม่
--รุ่น-เล็ก
สร้างโค้ดสำหรับโปรแกรม Small Model ดูส่วน Memory Models สำหรับรายละเอียดเพิ่มเติม
นี่คือรูปแบบเริ่มต้น
DS390 / DS400 OPTIONS
--model-flat24
สร้างรหัสโหมดแบน 24 บิต นี่คือหนึ่งเดียวที่รหัส ds390
เครื่องกำเนิดรองรับในขณะนี้และเป็นค่าเริ่มต้นเมื่อใช้ -mds390.
--protect-sp-อัพเดต
ปิดใช้งานการขัดจังหวะระหว่างการอัปเดต ESP:SP
_--กอง-10บิต
สร้างโค้ดสำหรับโหมดสแต็ก 10 บิตของส่วน Dallas DS80C390 นี้เป็น
หนึ่งเดียวเท่านั้นที่ตัวสร้างโค้ด ds390 รองรับในขณะนี้และเป็นค่าเริ่มต้นเมื่อ
ด้วย -mds390. ในโหมดนี้ สแต็กจะอยู่ที่ 1K ล่างของ internal
RAM ซึ่งถูกแมปกับ 0x400000 . โปรดทราบว่าการสนับสนุนไม่สมบูรณ์ เนื่องจากมัน
ยังคงใช้ไบต์เดียวเป็นตัวชี้สแต็ก ซึ่งหมายความว่าเฉพาะ 256 . ที่ต่ำกว่าเท่านั้น
ไบต์ของพื้นที่สแต็ก 1K ที่เป็นไปได้จะถูกใช้จริง อย่างไรก็ตาม สิ่งนี้ไม่
ช่วยให้คุณสามารถเรียกคืน RAM ต่ำ 256 ไบต์อันมีค่าเพื่อใช้สำหรับ DATA และ
กลุ่ม IDATA คอมไพเลอร์จะไม่สร้างโค้ดใดๆ เพื่อใส่โปรเซสเซอร์ลงใน
โหมดสแต็ก 10 บิต สิ่งสำคัญคือต้องแน่ใจว่าโปรเซสเซอร์อยู่ในโหมดนี้
ก่อนที่จะเรียกใช้ฟังก์ชัน re-entrant ที่คอมไพล์ด้วยตัวเลือกนี้ โดยหลักการแล้ว
สิ่งนี้ควรใช้ได้กับ --stack-อัตโนมัติ ตัวเลือกแต่ยังไม่ได้รับการทดสอบ มันคือ
เข้ากันไม่ได้กับ --xstack ตัวเลือก. นอกจากนี้ยังเหมาะสมหากโปรเซสเซอร์เป็น
ในโหมดการกำหนดแอดเดรสต่อเนื่อง 24 บิต (ดูที่ --model-flat24 ตัวเลือก)
Z80 Options
--callee-บันทึก-bc
บังคับฟังก์ชันที่เรียกให้บันทึก BC เสมอ
--no-std-crt0
เมื่อทำการเชื่อมโยง ให้ข้ามไฟล์อ็อบเจ็กต์ crt0.o มาตรฐาน คุณต้องจัดหาเอง
crt0.o สำหรับระบบของคุณเมื่อทำการเชื่อมโยง
การเพิ่มประสิทธิภาพ OPTIONS
--nogcse
จะไม่ทำการกำจัดนิพจน์ย่อยส่วนกลาง ตัวเลือกนี้อาจใช้เมื่อ
คอมไพเลอร์สร้างพื้นที่สแต็ก/ข้อมูลขนาดใหญ่ที่ไม่พึงประสงค์เพื่อจัดเก็บคอมไพเลอร์ชั่วคราว
ข้อความเตือนจะถูกสร้างขึ้นเมื่อสิ่งนี้เกิดขึ้นและคอมไพเลอร์จะ
ระบุจำนวนไบต์พิเศษที่จัดสรร แนะนำว่าตัวเลือกนี้
ไม่ใช้ #ปรากมา NOGCSE สามารถใช้เพื่อปิดนิพจน์ย่อยส่วนกลาง
การกำจัดสำหรับฟังก์ชันที่กำหนดเท่านั้น
--ไม่แปรผัน
จะไม่ทำการออปติไมซ์ค่าคงที่แบบวนซ้ำ สิ่งนี้อาจถูกปิดด้วยเหตุผล
อธิบายสำหรับตัวเลือกก่อนหน้า สำหรับรายละเอียดเพิ่มเติมของการเพิ่มประสิทธิภาพลูปดำเนินการ
ดูส่วน ค่าคงที่ของลูป ขอแนะนำว่าอย่าใช้ตัวเลือกนี้ #ปรากมา
ไม่แปรปรวน สามารถใช้เพื่อปิดการปรับให้เหมาะสมคงที่สำหรับฟังก์ชันที่กำหนด
เท่านั้น
--การเหนี่ยวนำ
จะไม่ทำการเพิ่มประสิทธิภาพการเหนี่ยวนำลูป ดูการลดความแรงของส่วนเพิ่มเติม
รายละเอียด. ขอแนะนำว่าอย่าใช้ตัวเลือกนี้ #ปรากมา การไม่เหนี่ยวนำ เป็นไปได้
ใช้เพื่อปิดการเพิ่มประสิทธิภาพการเหนี่ยวนำสำหรับฟังก์ชันที่กำหนดเท่านั้น
--nojtbound
จะไม่สร้างการตรวจสอบเงื่อนไขขอบเขตเมื่อมีการใช้คำสั่งสวิตช์
โดยใช้ตารางกระโดด ขอแนะนำว่าอย่าใช้ตัวเลือกนี้ #ปรากมา
NOJTBOUND สามารถใช้เพื่อปิดการตรวจสอบขอบเขตสำหรับตารางกระโดดสำหรับที่กำหนด
ฟังก์ชั่นเท่านั้น
--nolopreverse
จะไม่ทำการเพิ่มประสิทธิภาพการกลับรายการแบบวนซ้ำ
อื่น ๆ OPTIONS
-ค, --คอมไพล์-เท่านั้น
จะรวบรวมและรวบรวมซอร์ส แต่จะไม่เรียกตัวแก้ไขการเชื่อมโยง
-E รันเฉพาะตัวประมวลผลล่วงหน้า C ประมวลผลไฟล์ต้นฉบับ C ทั้งหมดที่ระบุและส่งออกล่วงหน้า
ผลลัพธ์ที่ได้มาตรฐาน
--stack-อัตโนมัติ
ฟังก์ชันทั้งหมดในไฟล์ต้นฉบับจะถูกคอมไพล์เป็น reentrant เช่น พารามิเตอร์
และตัวแปรท้องถิ่นจะถูกจัดสรรบนสแต็ก หากใช้ตัวเลือกนี้ทั้งหมด
ไฟล์ต้นฉบับในโปรเจ็กต์ควรคอมไพล์ด้วยตัวเลือกนี้
--xstack
ใช้ pseudo stack ใน 256 ไบต์แรกใน ram ภายนอกสำหรับการจัดสรร
ตัวแปรและพารามิเตอร์การส่ง
--callee-บันทึก ฟังก์ชั่น1[,ฟังก์ชั่น2][,ฟังก์ชั่น3]....
คอมไพเลอร์โดยค่าเริ่มต้นใช้ผู้โทรบันทึกแบบแผนสำหรับการลงทะเบียนการบันทึกข้าม
การเรียกใช้ฟังก์ชัน อย่างไรก็ตาม การทำเช่นนี้อาจทำให้เกิดการกด & popping การลงทะเบียนที่ไม่จำเป็นเมื่อ
เรียกฟังก์ชันขนาดเล็กจากฟังก์ชันขนาดใหญ่ สามารถใช้ตัวเลือกนี้เพื่อสลับ
แบบแผนการบันทึกการลงทะเบียนสำหรับชื่อฟังก์ชันที่ระบุ คอมไพเลอร์จะ
ไม่บันทึกการลงทะเบียนเมื่อเรียกใช้ฟังก์ชันเหล่านี้ จะไม่มีการสร้างรหัสพิเศษที่
การเข้า & ออกสำหรับฟังก์ชั่นเหล่านี้เพื่อบันทึก & กู้คืนรีจิสเตอร์ที่ใช้โดย these
ฟังก์ชั่นนี้สามารถ อย่างมาก ลดโค้ดและปรับปรุงประสิทธิภาพรันไทม์ของ
รหัสที่สร้างขึ้น ในอนาคตคอมไพเลอร์ (พร้อมการวิเคราะห์ระหว่างขั้นตอน) จะเป็น
สามารถกำหนดรูปแบบที่เหมาะสมเพื่อใช้สำหรับการเรียกแต่ละฟังก์ชันได้ DO ไม่ ใช้
ตัวเลือกนี้สำหรับฟังก์ชันในตัวเช่น _มูลูอินท์... หากตัวเลือกนี้ใช้สำหรับ
ฟังก์ชันไลบรารี ฟังก์ชันไลบรารีที่เหมาะสมจำเป็นต้องคอมไพล์ใหม่ด้วย
ตัวเลือกเดียวกัน หากโปรเจ็กต์ประกอบด้วยไฟล์ต้นฉบับหลายไฟล์ แสดงว่าซอร์สทั้งหมดนั้น
ไฟล์ควรจะคอมไพล์เหมือนกัน --callee-บันทึก สตริงตัวเลือก
--debug
เมื่อใช้ตัวเลือกนี้ คอมไพเลอร์จะสร้างข้อมูลการดีบัก ซึ่งสามารถ
ใช้กับไฟล์ สดีดีบี. ข้อมูลการดีบักถูกรวบรวมในไฟล์ที่มี .cdb
การขยาย.
--regeextend
ตัวเลือกนี้ล้าสมัยและไม่รองรับอีกต่อไป
--noregparms
ตัวเลือกนี้ล้าสมัยและไม่รองรับอีกต่อไป
--peep-ไฟล์
ตัวเลือกนี้สามารถใช้เพื่อใช้กฎเพิ่มเติมเพื่อใช้โดยช่องมองลอด
เครื่องมือเพิ่มประสิทธิภาพ
-S หยุดหลังจากขั้นตอนการรวบรวมที่เหมาะสม อย่าประกอบ ผลลัพธ์คือ
ไฟล์รหัสแอสเซมเบลอร์สำหรับไฟล์อินพุตที่ระบุ
-วา_asmOption[,asmOption]...]
ส่ง asmOption ไปยังแอสเซมเบลอร์
-Wl_linkOption[,linkOption]...]
ส่งลิงค์ตัวเลือกไปยังตัวเชื่อมโยง
--int-ยาว-reent
ไลบรารีจำนวนเต็ม (16 บิต) และแบบยาว (32 บิต) ได้รับการคอมไพล์เป็น reentrant บันทึก
โดยค่าเริ่มต้น ไลบรารีเหล่านี้จะถูกคอมไพล์เป็นแบบ non-reentrant
--ไซโคลมาติก
ตัวเลือกนี้จะทำให้คอมไพเลอร์สร้างข้อความข้อมูลสำหรับแต่ละ
ฟังก์ชันในไฟล์ต้นทาง ข้อความนี้มีข้อมูลสำคัญเกี่ยวกับ
ฟังก์ชั่น. จำนวนขอบและโหนดที่คอมไพเลอร์ตรวจพบในตัวควบคุม
กราฟการไหลของฟังก์ชัน และที่สำคัญที่สุดคือความซับซ้อนของวัฏจักร
--Float-reent
ไลบรารีจุดลอยตัวถูกคอมไพล์เป็น reentrant
--ไม่มีโอเวอร์เลย์
คอมไพเลอร์จะไม่ซ้อนทับพารามิเตอร์และตัวแปรท้องถิ่นของฟังก์ชันใด ๆ ดู
ส่วนพารามิเตอร์และตัวแปรท้องถิ่นสำหรับรายละเอียดเพิ่มเติม
--หลัก-กลับ
อ็อพชันนี้สามารถใช้ได้เมื่อโปรแกรมมอนิเตอร์เรียกโค้ดที่สร้าง
คอมไพเลอร์จะสร้าง 'ret' เมื่อกลับมาจากฟังก์ชัน 'main' NS
ตัวเลือกเริ่มต้นคือการล็อคเช่นสร้าง 'ljmp'
--no-มองลอด
ปิดใช้งานการเพิ่มประสิทธิภาพช่องมองภาพ
--มองลอด-asm
ส่งรหัสแอสเซมเบลอร์แบบอินไลน์ผ่านเครื่องมือเพิ่มประสิทธิภาพช่องมองลอด ซึ่งอาจทำให้
การเปลี่ยนแปลงที่ไม่คาดคิดในโค้ดแอสเซมเบลอร์แบบอินไลน์ โปรดผ่านช่องมอง
กฎเครื่องมือเพิ่มประสิทธิภาพที่กำหนดไว้ในแผนผังไฟล์ต้นทาง ' /peeph.def' ก่อนใช้
ตัวเลือกนี้
--iram-ขนาด
ทำให้ตัวเชื่อมโยงตรวจสอบว่าการใช้ ram ภายในอยู่ภายในขอบเขตที่กำหนดหรือไม่
มูลค่า
--nostdincl
สิ่งนี้จะป้องกันไม่ให้คอมไพเลอร์ส่งผ่านค่าเริ่มต้นรวมถึงเส้นทางไปยัง
พรีโปรเซสเซอร์
--nostdlib
สิ่งนี้จะป้องกันไม่ให้คอมไพเลอร์ส่งผ่านเส้นทางไลบรารีเริ่มต้นไปยัง
ลิงค์เกอร์.
--รายละเอียด
แสดงการดำเนินการต่างๆ ที่คอมไพเลอร์กำลังดำเนินการ
-V แสดงคำสั่งจริงที่คอมไพเลอร์ดำเนินการ
ระดับกลาง DUMP OPTIONS
ตัวเลือกต่อไปนี้มีไว้เพื่อจุดประสงค์ในการกำหนดเป้าหมายใหม่และดีบั๊ก
คอมไพเลอร์ สิ่งเหล่านี้ให้วิธีการดัมพ์รหัสกลาง (iCode) ที่สร้างโดย
คอมไพเลอร์ในรูปแบบที่มนุษย์อ่านได้ในขั้นตอนต่างๆ ของกระบวนการรวบรวม
--dumpraw
ตัวเลือกนี้จะทำให้คอมไพเลอร์ดัมพ์โค้ดระดับกลางลงในไฟล์ของ
ชื่อ . ทิ้งขยะ หลังจากที่ได้รหัสกลางแล้ว
สร้างขึ้นสำหรับฟังก์ชัน กล่าวคือ ก่อนที่การเพิ่มประสิทธิภาพจะเสร็จสิ้น บล็อคพื้นฐาน
ในขั้นนี้สั่งในเชิงลึกหมายเลขแรกจึงอาจไม่อยู่ในลำดับของ
การดำเนินการ
--dumpgcse
จะสร้างการถ่ายโอนข้อมูลของ iCode หลังจากกำจัดนิพจน์ย่อยทั่วโลกลงในไฟล์
ชื่อ .dumpgcse
--dumpdeadcode
จะสร้างดัมพ์ของ iCode หลังจากกำจัด deadcode ลงในไฟล์ชื่อ
.dumpdeadcode.
--ขยะ
จะสร้างดัมพ์ของ iCode หลังจากการเพิ่มประสิทธิภาพลูปลงในไฟล์ชื่อ
ชื่อไฟล์>.dumploop.
--ขยะมูลฝอย
จะสร้างดัมพ์ของ iCode หลังจากการวิเคราะห์ช่วงสดลงในไฟล์ชื่อ
ชื่อไฟล์>.dumprange.
--ดัมเรนจ์
จะทิ้งช่วงชีวิตของสัญลักษณ์ทั้งหมด
--dumpregมอบหมาย
จะสร้างดัมพ์ของ iCode หลังจากลงทะเบียนแล้ว ลงในไฟล์ชื่อ
ชื่อไฟล์>.dumprassgn.
--เกี๊ยว
จะสร้างดัมพ์ของช่วงสดของ iTemp's
--ดัมพ์
จะทำให้การทิ้งทั้งหมดที่กล่าวมาข้างต้นถูกสร้างขึ้น
การทำสำเนา
ซอร์สโค้ดทั้งหมดสำหรับคอมไพเลอร์เผยแพร่ภายใต้ GNU General Public License
ใช้ sdcc ออนไลน์โดยใช้บริการ onworks.net