S tar

ภาพหน้าจอของซอฟแวร์:
S tar
รายละเอียดซอฟแวร์:
รุ่น: 1.5.2 / 1.5.3 Alpha 1
วันที่อัพโหลด: 20 Feb 15
ผู้พัฒนา: J. Schilling
การอนุญาต: ฟรี
ความนิยม: 266

Rating: 2.0/5 (Total Votes: 3)

S tar หรือดาวเป็นแหล่งเปิดโปรแกรมบรรทัดคำสั่งที่สามารถบีบอัด / เก็บหลายไฟล์เข้าด้วยกันเป็นเทปเดียวหรือเก็บดิสก์ นอกจากนี้ยังสามารถเรียกคืนไฟล์แต่ละไฟล์จากที่เก็บที่สร้างขึ้น
tar S รวมถึง FIFO สำหรับความเร็วในการสนับสนุน multivolume จับคู่รูปแบบ, ความสามารถในการเก็บไฟล์เบาบางรับรู้เพื่อ byte อัตโนมัติ, การตรวจสอบรูปแบบที่เก็บอัตโนมัติ, การบีบอัดข้อมูลที่เก็บโดยอัตโนมัติและการบีบอัดเก็บระยะไกลเช่นเดียวกับฟังก์ชั่นพิเศษอื่น ๆ ที่ช่วยให้ แอพลิเคชันที่จะใช้สำหรับการสำรองข้อมูลเต็มระบบ
S tar ยังรวมถึง `RMT ', รุ่นพกพาอย่างแท้จริงของเซิร์ฟเวอร์ระยะไกลเทปที่สนับสนุนการดำเนินงานระยะไกลระหว่างระบบปฏิบัติการที่แตกต่างกันและสถาปัตยกรรมเครื่องเช่นเดียวกับการพกพา` mt' เทปโปรแกรมควบคุมไดรฟ์
tar S เป็นที่รู้จักกันในการดำเนินการเร็วที่สุดของ Archiver tar ได้เร็วขึ้นกว่า ufsdump ในเกือบทุกกรณี

มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.

< ul>

  • makefilesystem schily ในขณะนี้สนับสนุน CC ++ _ COM สำหรับทุกแพลตฟอร์มที่จะช่วยให้การเขียนทับคำสั่งในระดับต่ำสำหรับ C ++ -. คอมไพเลอร์
  • แก้ไขปัญหาในดาวที่มี & quot; ดาว --xattr -find RELATIVE_PATH ... & quot; ขอบคุณที่ฟิลิปสเปนเซอร์สำหรับแพทช์.
  • libschily :: fexecv () ตอนนี้จะช่วยให้การใช้พารามิเตอร์ & quot; ac & quot; ด้วยค่า -1 เพื่อบ่งชี้ว่านับหาเรื่องที่จะถูกกำหนดโดยชี้ NULL ตอนท้ายของรายการหาเรื่อง.
  • รวม / schily / stat.h ในขณะนี้ประกอบด้วยแมโครเพื่อตั้งนาโนวินาทีในการบันทึกเวลาในการปฏิบัติการทางอิสระ
  • การทดสอบ autoconf ใหม่สำหรับ sys / capability.h และฝา _ * () ฟังก์ชั่นจากลินุกซ์ -lcap
  • คำเตือน: ถ้าคุณไม่เห็นนี้:
  • ตรวจสอบ sys / capability.h ... ใช่
  • ...
  • ตรวจสอบ cap_get_proc ใน -lcap ... ใช่ตรวจสอบ cap_get_proc ... ใช่ตรวจสอบ cap_set_proc ... ใช่ตรวจสอบ cap_set_flag ... ใช่ตรวจสอบ cap_clear_flag ... ใช่
  • การติดตั้งลินุกซ์ของคุณไม่ปลอดภัยในกรณีที่คุณเคยใช้คำสั่ง & quot; setcap & quot; การตั้งค่าความสามารถในไฟล์สำหรับคำสั่งปฏิบัติการ.
  • โปรดทราบว่า cdrtools (ตามคำสั่งอื่น ๆ ) จะต้องมีการ capabylity ทราบเพื่อหลีกเลี่ยงการรั่วไหลของการรักษาความปลอดภัยที่มีสิทธิ์เพิ่มขึ้น ในกรณีส่วนใหญ่สิทธิพิเศษที่มีความจำเป็นเท่านั้นสำหรับชุดที่ จำกัด มากของการดำเนินงาน หาก cdrtools (cdrecord, cdda2wav, readcd) มีการติดตั้ง suid ราก, ฟังก์ชั่นในการควบคุมสิทธิประโยชน์อยู่ในชุดพื้นฐานของฟังก์ชั่นได้รับการสนับสนุนและทำให้ไม่มีปัญหาสำหรับโปรแกรมใด ๆ ที่จะควบคุมมันเป็นสิทธิพิเศษ - ถ้าพวกเขาได้รับผ่านทางราก suid คุณอยู่ในระบบรักษาความปลอดภัย.
  • หากคุณเป็นอย่างไรในการติดตั้งไม่สมบูรณ์ที่ให้การสนับสนุนที่จะยกระดับสิทธิประโยชน์ผ่าน FCAPS แต่ไม่ได้รวมถึงการสนับสนุนนักพัฒนาสำหรับหมวก, โปรแกรมได้รับสิทธิพิเศษโดยไม่มีความสามารถที่จะรู้เกี่ยวกับสิทธิประโยชน์เพิ่มเติมจึงให้พวกเขาเพราะพวกเขาไม่สามารถ ควบคุมพวกเขา.
  • คำเตือน: ถ้าคุณอยู่ในระบบ Linux ที่มีการสนับสนุนสำหรับ FCAPS (นี่คือน่าจะเป็นจริงสำหรับทุกระบบใหม่กับ Linux & gt; = 2.6.24) และมีการสนับสนุนการพัฒนาไม่มีความสามารถในระบบฐาน คุณอยู่ในระบบไม่ปลอดภัยโดยเนื้อแท้ที่ช่วยในการรวบรวมและการตั้งค่าโปรแกรมที่มีสิทธิ์เพิ่มขึ้นที่ไม่สามารถควบคุมได้.
  • ในกรณีเช่นนี้พยายามที่จะให้ความรู้แก่ผู้จัดการรักษาความปลอดภัยสำหรับการกระจาย Linux ที่เกี่ยวข้อง โปรดทราบว่าคุณอาจจะเปลี่ยนการติดตั้งส่วนตัวของคุณลงในการติดตั้งระบบรักษาความปลอดภัยโดยการติดตั้งการสนับสนุนการพัฒนา libcap.
  • อนุญาตให้มีการรวบรวมโดยไม่ต้องใช้ลินุกซ์ libcap & quot; Smake COPTX = -DNO_LINUX_CAPS LIB_CAP = & quot;
  • การทดสอบ autofconf สำหรับหักส่วนหัวของลินุกซ์ในขณะนี้หลีกเลี่ยงการเตือนสำหรับ / usr / src / Linux / รวมถึงถ้าไดเรกทอรีนี้จะหายไป.
  • รวม / schily / priv.h ขณะนี้รวมถึง sys / capabilitiy.h ถ้ามี.
  • การพยายามที่จะสนับสนุนการติดตั้ง suid รากน้อยของผู้ใช้ librmt บน Linux librmt ตอนนี้เข้าใจว่าโปรแกรมที่ไม่ใช่รากอาจจะสามารถที่จะสร้างซ็อกเก็ตสำหรับพอร์ตพิเศษ.
  • คำเตือน: รวมถึงโครงสร้างของการรวม / schily * / ชั่วโมงและหลายแหล่งที่มาได้รับการปรับโครงสร้างหนี้ที่จะทำให้เกิดคำเตือนน้อยกับแพลตฟอร์มระบบปฏิบัติการที่เก่ากว่า. ถ้าคุณเห็นใด ๆ ปัญหาใหม่บนแพลตฟอร์มส่วนบุคคลของคุณ, กรุณาแจ้ง.
  • includefiles ใหม่:
  • schily / poll.h สนับสนุนการสำรวจความคิดเห็น () schily / stdarg.h นามแฝงเพื่อ schily / varargs.h (แต่ใช้ชื่อ STD) schily / sunos4_proto.h ต้นแบบขาดหายไปสำหรับ SunOS-4.x จะทำให้ GCC เงียบ schily /timeb.h ที่จำเป็นสำหรับผู้ใช้ ftime ()
  • เล็กน้อยหลายแก้ไขข้อผิดพลาดสำหรับไฟล์รวม / schily * / h.
  • เพิ่ม #include เพื่อ libdeflt
  • เพิ่ม #include เพื่อ libschily / fnmatch.c
  • เพิ่ม #include เพื่อ libedc
  • Updated README.compile:
  • แพทช์บางคำสะกดผิดจาก ม.ค. Engelhardt
  • เอกสาร & quot; LINKMODE = & quot; แมโครที่จะอธิบายวิธีการสร้าง bynaries เชื่อมโยงแบบไดนามิก.
  • รวม / schily / archconf.h ตอนนี้กำหนด __SUNOS5 ง่ายสำหรับการเข้ารหัส
  • รวม / schily / priv.h ตอนนี้กำหนดแพลตฟอร์มสิทธิพิเศษเนื้อละเอียด
  • รวม / schily / stdio.h ขณะนี้ดำเนินการ NO_SCHILY_STDIO_H #ifndef เพื่อหลีกเลี่ยงการรวม stdio.h จาก wchar.h
  • schily Makefilesystem ไม่ใช้ CC = สำหรับงานภายใน คนที่ตอนนี้ตั้ง $ CC เป็นค่าที่แตกต่างกันจะล้มเหลวในลักษณะที่คล้ายกันเช่นที่พวกเขาจะล้มเหลวกับระบบสร้างอื่น ๆ .
  • อนุญาตให้ & quot; คงที่ & quot; รวบรวม (สะสมที่ไม่ได้ใช้กำหนดแบบไดนามิกจาก schily Makefilesystem) บน Linux x 86
  • ตรวจสอบให้แน่ใจว่าทุก schily รวมไฟล์ยกเว้นห่อหลัก ได้แก่ schily * / h. แทนรวมทั้งระบบรวมถึงไฟล์ได้โดยตรง.
  • เพิ่มการสนับสนุนโดยอัตโนมัติสำหรับ ARMv5 และ ARMv6 นี้จะทำให้การรวบรวมใน RaspberryPI ยังเป็นไปได้กับการไม่ใช้ automake ตระหนัก gmake.
  • อนุญาตให้ & quot; คงที่ & quot; รวบรวม (สะสมที่ไม่ได้ใช้กำหนดแบบไดนามิกจาก schily Makefilesystem) บน Linux ARMv6 (ซึ่งถูกใช้โดย RaspberryPI).
  • สตาร์ (Spax) ไม่มีสารสกัดจากไฟล์ที่มีเดิม UID / GID ถ้าดำเนินการโดยรากเว้นแต่ตัวเลือก -po หรือ -pe ได้ในการใช้ ขอขอบคุณคำแนะนำจากพาเวล Raiskup
  • แหล่งข่าวหลายคนได้รับการแก้ไขที่จะจัดการ __CYGWIN32__ เช่น __CYGWIN__ นี้ Neded เป็นรุ่น Cygwin รุ่นใหม่ที่ทำงานในโหมด 64 บิตจะไม่กำหนด __CYGWIN32__ แต่ __CYGWIN __
  • การสนับสนุนสำหรับ NT-6.2 (Win-8) และ NT-6.3 (Win-8.1) ถูก Aded กับระบบ Makefile
  • ระบบ Makefile ขณะนี้รวมถึงการสนับสนุนสำหรับ ppc64-ลินุกซ์ซีซี * เพื่อให้การรวบรวมใช้ไม่ Automake ตระหนักถึงทำให้โปรแกรมเช่น gmake.
  • ตัวเลือกใหม่ -xcopy ดาราเป็นนามแฝงสำหรับสำเนา -sparse -acl
  • & quot; ดาว & quot; และ & quot; mt & quot; ตอนนี้ต้อง libcap บน Linux เป็น librmt ตระหนักถึงความสามารถในลินุกซ์
  • & quot; defltsect & quot; ถูกบันทึกเป็นฟังก์ชั่นระดับโลกที่ส่งออกไปยัง libdeflt.
  • libfind ตอนนี้เรียก closedir () กับ -empty แม้ในไดเรกทอรีว่าง.
  • ทดสอบ autoconf ใหม่กับว่ารวมถึง struct timespec
  • การทดสอบ autoconf ใหม่ตรวจสอบว่าฟังก์ชั่นบางอย่าง (เช่น clock_gettime ()) อยู่ใน libc หรือต้องการห้องสมุดแยกต่างหาก
  • ใหม่: struct timespec ใน schily / time.h จะได้รับจะมีอยู่บนแพลตฟอร์มทั้งหมด
  • ฟังก์ชั่นใหม่ getnstimeofday () และ setnstimeofday () ได้รับการเพิ่ม libschily.
  • ดาวในขณะนี้สนับสนุนที่จะดึงแสตมป์เวลากับเมล็ด nanosecond บนแพลตฟอร์มที่สนับสนุน utimensat ().
  • ดาวตอนนี้ยังสนับสนุนการสกัดประทับเวลาสำหรับ symlinks ใช้ utimensat (AT_FDCWD ชื่อ TP, AT_SYMLINK_NOFOLLOW).
  • โปรดทราบว่าดาวจะทำได้ (บนแพลตฟอร์มบางส่วน) นอกจากนี้ยังอนุญาตให้มีการตั้งค่าสิทธิ์ในแฟ้มสำหรับ symlinks ใช้ fchmodat () แต่นี้จะทำอยู่แล้วโดยใช้ umask () ตั้งแต่เวลานานและแพลตฟอร์มเดียวที่เป็นที่รู้จักกันที่จะสนับสนุนการอนุญาตที่แตกต่างกัน symlinks ดูเหมือนว่าจะเป็น HP-UX ใน Solaris เมื่อเร็ว ๆ นี้คุณจะไม่สามารถที่จะกำหนดสิทธิ์ไฟล์สำหรับ symlinks.
  • ดาวถูกดัดแปลงอย่างสมบูรณ์ timespec based นี้มีเมล็ด nanosecond สำหรับทุกครั้งบนแพลตฟอร์มที่สนับสนุนนาฬิกา nanosecond.
  • ดาวตอนนี้อาจจะบอกว่าการปรับเปลี่ยนชื่อเส้นทาง (ในกรณีของ-s / o / n / หรือการเปลี่ยนแปลง -w โต้ตอบ) ก่อนเวลาเมื่อเทียบกับไฟล์ที่มีอยู่ในระบบแฟ้ม นี้จะกระทำโดยใช้ตัวเลือกใหม่ -uncond เปลี่ยนชื่อ
  • มีอะไรใหม่ ในรุ่น 1.5.2:

    • พยายามที่จะทำให้ภูมิคุ้มกันดาวกับสัญญาณที่ปรากฏขึ้นในขณะที่ เปิดไฟล์จากระบบแฟ้มเครือข่าย.
    • ให้ FIFO ดาวที่ดีกว่าการดำเนินการจัดการสื่อการเปลี่ยนแปลงในตอนท้ายของปริมาณเทปในปริมาณหลายสร้างโหมด.
    • อนุญาตให้ดาวอัตโนมัติตรวจสอบ & quot; EOF & quot; สภาพบนดิสก์ดิบเมื่อเขียนในปริมาณหลายสร้างโหมด ENXIO ได้ถูกเพิ่มเป็นนามแฝงสำหรับ EFBIG และ ENOSPC.
    • manpage star.4 ถูกเพิ่ม.
    • star_sym.c ตอนนี้ใช้สำหรับการเปิด O_SEARCH ไดเรกทอรี.
    • ดาว / longnames.c เพิ่มวิธีการแก้ปัญหามากขึ้นกับหน่วยความจำล้นผิดถูกยกเลิกจาก gcc.
    • ดาว / extract.c ตอนนี้ใช้การเข้าถึง (ชื่อ F_OK) แทนการเข้าถึง (ชื่อ, 0)
    • ดาวตอนนี้เท่านั้นตั้งค่าจัดการสัญญาณสำหรับสัญญาณที่มีอยู่เพื่อสนับสนุน MSC
    • ดาวคงที่พิมพ์ผิดใน dumpdates.c ที่ตีบน WIN-DOS เพราะฝูงแกะ () ไม่อยู่
    • ดาวตอนนี้ตรวจสอบ HAVE_FSYNC เพื่อสนับสนุน MSC
    • ดาว :: findinfo.c ตอนนี้ตรวจสอบว่ามีอยู่ stat.st_blksize
    • ดาว / dumpdates.c ทำงานแก้ไขปัญหากับ LOCK_EX / LOCK_EX / LOCK_UN กำหนดแม้ว่าฝูง () โทรไม่มีอยู่แล้ว.
    • ใหม่ (ก่อนหน้านี้หายไป) หน้าคน: BSH / pfbsh.1 SH / bosh.1 SH / jsh.1 SH / pfsh.1 mt / mt.1 scgskeleton / scgskeleton.1 ​​ฉลาก / label.1 ดาว / Ustar 1 star_sym / star_sym.1 โดยผู้ดูแลระบบ / ลับตา-E​​.1 โดยผู้ดูแลระบบ / ลับตา-W.1
    • ดาวในขณะนี้สนับสนุนการรับรู้โดยอัตโนมัติของ XZ (1) บีบอัดที่เก็บและนำเสนอทางเลือกใหม่ -xz
    • ดาวนี้มีพฤติกรรมใหม่:
    • เก็บ tar สร้างขึ้นด้วย & quot; ดาว -c ถ่ายโอนข้อมูล -meta ... & quot; ไม่รวมถึงเนื้อหาของแฟ้มธรรมดา แต่เพียงข้อมูล meta ด้วย & quot; ดาว -c -xmeta & quot; ไฟล์เหล่านี้สามารถสกัดเป็น 0 โดยไฟล์ขนาดในกรณีที่ว่านี้จะไม่เขียนทับไฟล์ที่มีอยู่ ดาวในขณะนี้สนับสนุน & quot; ดาว -x -xmeta -fore หลุม & quot; เพื่อดึงไฟล์เหล่านี้เป็นไฟล์ของขนาดเดิม แต่เป็นไฟล์เบาบางโดยไม่มีข้อมูลใด ๆ ที่อยู่ภายใน นี้ก็เพียงพอเป็นข้อมูลอ้างอิงสำหรับ wget -mirror.
    • คนหน้าดาว / spax.1 คง typo.
    • ดาว / header.c ตอนนี้ใช้โครงสร้างใหม่ & quot; ndbuf & quot; ที่กำหนด namelength ของ 101 แทน 100 เพื่อที่จะสามารถเข้าถึงองค์ประกอบ 101th ในอาร์เรย์โดยไม่ต้องเข้าถึง Aray นอกขอบเขต.
    • คงที่พิมพ์ผิดในดาว / buffer.c ที่ทำให้เกิดดาวการถ่ายโอนข้อมูลหลักบน Linux กับ -mulvivol -c เนื่องจากรูปแบบของหน่วยความจำที่ผิดปกติท​​ี่พบในลินุกซ์.
    • ดาวจัดการบัฟเฟอร์ -multivol ตอนนี้ mallocs หน่วยความจำน้อย ก่อนที่มันจะ malloc () d ขนาดเดียวกับขนาด FIFO ตอนนี้ก็เพียง malloc () S 2 * bufsize
    • ดาว -c -find ตอนนี้ไฟฟ้าประเภท interruptable โดย ^ C
    • ดาว -x -U -k ตอนนี้ทำงานเช่นเดียวกับดาว -x -U -keep เก่า
    • แก้ไขบางอย่างผิดพลาดในหน้าคน star.4
    • ดาว -sparse -force หลุมตอนนี้ที่เก็บไฟล์ทั้งหมดเป็นไฟล์เบาบางในกรณีที่พวกเขาอย่างน้อยต้องมี 512 บล็อกไบต์ชิดของ nulls ขอบคุณที่ markk@clara.co.uk
    • -find ดาวตอนนี้เอาชั้นนำ & quot; ./& quot; ในชื่อไฟล์เป็นดาราไม่ในกรณีอื่น ๆ .
    • ดาว -r / -u ในขณะนี้ได้อย่างถูกต้องขึ้นอยู่กับชนิดรูปแบบที่เก็บเก่า.
    • ดาวเพิ่ม -lzip เลือกใหม่และการสนับสนุนอัตโนมัติเพื่อรับรู้ lzip บีบอัดที่เก็บ ขอบคุณที่ markk@clara.co.uk
    • ดาวตอนนี้ยอมรับคำสั่งที่ชอบ:
    • ดาว -c -onull -find -ls
    • เพราะไม่มีการส่งออกไปยัง stdout เก็บที่สามารถผสมกับเอาท์พุท -ls
    • แก้ไขบั้กใน libfind / walk.c (โทร strcatl () กับพารามิเตอร์ที่ผ่านมา 0 แทน (char *) 0)
    • libfind ชนกับรุ่น 1.5
    • แฟ้มใหม่ libfind / find_tok.h จะแยกชื่อโทเค็นจากส่วนที่เหลือของการดำเนินการ.
    • คำจำกัดความ token ย้ายจาก find.c เพื่อ find_tok.h
    • ดัดหลักตอนนี้ใช้คุณลักษณะใหม่:
    • ดัดโหมด + จะประเมินเป็นจริงถ้ามีบิตที่ตั้งอยู่ในโหมดที่ตั้งอยู่ในบิตได้รับอนุญาตเทียวไฟล์.
    • ข้อผิดพลาดกับ -exec แนะนำเกี่ยวกับการใช้ vfork () แทนส้อม () ได้รับการแก้ไข ทดแทนของสตริง & quot; {} & quot; ตอนนี้ทำงานได้อย่างถูกต้องอีกครั้งแม้ว่าสถานที่ตั้งของเส้นทางในหน่วยความจำที่มีการเปลี่ยนแปลงในช่วง realloc ().
    • ผู้ประกอบการหลักใหม่: -amin เลิก - เพียงสำหรับ GNU พบความเข้ากันได้ -cmin เลิก - เพียงสำหรับ GNU พบความเข้ากันได้ -mmin เลิก - เพียงสำหรับ GNU พบความเข้ากันได้ -empty TRUE ศูนย์ขนาดไฟล์ธรรมดาหรือ directory ว่าง -execdir โปรแกรม [อาร์กิวเมนต์ .. ] \; รายชื่อไฟล์ -fls ไฟล์คล้ายกับ 'LS -ilds' เป็น 'แฟ้ม' (เสมอ TRUE) พิมพ์ไฟล์ -fprint เส้นชื่อไฟล์ที่แยกออกเป็น 'ไฟล์' (เสมอ TRUE) ไฟล์ชื่อไฟล์พิมพ์ -fprint0 NUL แยกออกเป็น 'ไฟล์' (เสมอ TRUE) ไฟล์ -fprintnnl ชื่อไฟล์พิมพ์พื้นที่แบ่งออกเป็น 'ไฟล์' (TRUE เสมอ) -ilname Glob TRUE ถ้าชื่อ symlink ตรง Glob เปลือก -ilpat รูปแบบ TRUE ถ้าชื่อ symlink ตรงกับรูปแบบ -iname Glob TRUE ถ้าองค์ประกอบเส้นทางตรง Glob เปลือก -ipat รูปแบบ TRUE ถ้าองค์ประกอบเส้นทางตรงกับรูปแบบ -ipath Glob TRUE ถ้าเส้นทางแบบเต็มตรง Glob เปลือก -ippat รูปแบบ TRUE ถ้าตรงกับเส้นทางแบบเต็มรูปแบบโปรแกรม -okdir [อาร์กิวเมนต์ ... ] \; ชื่อไฟล์พิมพ์ -print0 NUL แยกออกไปยัง stdout (เสมอ TRUE) -executable TRUE ถ้าไฟล์ที่ปฏิบัติการโดยใช้ id ที่แท้จริงของกระบวนการ -readable TRUE ถ้าไฟล์สามารถอ่านได้โดยใช้ id ที่แท้จริงของกระบวนการ -writable TRUE ถ้าไฟล์สามารถเขียนได้โดยรหัสผู้ใช้จริง ของกระบวนการ
    • libfind ไม่ออกจากกระบวนการใน treewalk (ก) ในกรณีที่เส้นทางสายไม่สามารถจัดสรร.
    • libfind :: walkclose () ตอนนี้ฟรี () s โครงสร้างข้อมูลภายในในกรณีของผู้ใช้ที่ไม่เรียก treewalk () (-x เช่นดาว)
    • defltcntl ฟังก์ชั่น () ใน libdeflt คือตอนนี้ทำงานและช่วยให้การเลือกโหมดกรณีตาย.
    • ฟังก์ชั่นใหม่ defltsect () ใน libdeflt ช่วยให้การสร้างส่วนย่อยในแฟ้มการกำหนดค่า ย่อยเหล่านี้จะต้องตั้งชื่อ: & quot; [ส่วนชื่อ] & quot; และ '[' จะต้องเป็นจุดเริ่มต้นของสาย.
    • การสนับสนุนสำหรับ & quot; pcc & quot; บน Solaris 86 ถูกเพิ่มเข้ามาเป็นขั้นตอนแรก C-คอมไพเลอร์ & quot; pcc & quot; http://pcc.ludd.ltu.se/ จะขึ้นอยู่กับแบบพกพา C-Comppiler จาก AT & T จากช่วงปลายปี 1970 มันอยู่ภายใต้ BSDl และจึงมีการรวบรวมด้วยการสร้างสภาพแวดล้อมฟรีจริงๆ.
    • โปรดทราบว่าเนื่องจากข้อผิดพลาด pcc ผล autoconf สำหรับการสนับสนุนไฟล์ขนาดใหญ่ไม่ถูกต้อง ถ้าคุณแก้ไขไฟล์ Incs / i386-sunos5-pcc / xconfig.h ตนเองและแก้ไขไฟล์ที่จะมีนี้:
    • #define _FILE_OFFSET_BITS 64 / * # ของบิตใน off_t ถ้าตัวอย่างไฟล์ * /
    • คุณจะไม่ได้รับการสนับสนุนการทำงานกับไฟล์ขนาดใหญ่ PCC.
    • การสนับสนุนสำหรับระบบปฏิบัติการอื่น ๆ จะตามมาหลังจากปัญหาในคอมไพเลอร์ได้รับการแก้ไข.
    • conf / mkdep-aix.sh นี้เรียกร้อง & quot; ซีซี -M -qsyntaxonly & quot; แทนที่จะ & quot; ซีซี -M -E & quot; เป็น IBM C-preprocessor ​​ไม่ชอบ = ขอ่อนแอ #pragma แม้ว่าคอมไพเลอร์สนับสนุน.
    • เพิ่มการสนับสนุนสำหรับแมลงปอ / x86_64
    • ทดสอบ autoconf ใหม่สำหรับแสตมป์เวลา nanosecond บน AIX.
    • conf / mkdep-aix.sh ถูกเปลี่ยนเพื่อหลีกเลี่ยงคำเตือนสำหรับ #pragma อ่อนแอ b = เป็น IBM C-คอมไพเลอร์เรียกร้องไม่ & quot; #pragma อ่อนแอ & quot; CPP เมื่อเรียกว่ามี -E
    • รวม / schily / stat.h ในขณะนี้สนับสนุน timestamps nonosecond ใน struct สถิติบน AIX.
    • รวม / schily / stat.h ในขณะนี้สนับสนุน stat.st_atime_n struct สำหรับ AIX สนับสนุน nanosecond.
    • การพยายามที่จะเพิ่มการสนับสนุนสำหรับการรวบรวม 32 บิตบน Mac OS X รุ่นใหม่ผ่านทาง Smake CCOM = cc32 งานนี้เท่านั้นถ้า 32 บิตสนับสนุนการพัฒนามีการติดตั้งบน Mac OS X.
    • การพยายามที่จะเพิ่มการสนับสนุนสำหรับการรวบรวม 32 บิตบน Linux รุ่นใหม่ผ่านทาง Smake CCOM = cc32 งานนี้เท่านั้นถ้า 32 บิตสนับสนุนการพัฒนามีการติดตั้งบน Linux.
    • การตรวจสอบการทดสอบใหม่ autoconf ว่า fnmatch () มีการทำงาน FNM_IGNORECASE
    • การทดสอบ autoconf ใหม่สำหรับการสนับสนุนสถานที่ stateful multibyte mbsinit () mbrtowc () wcrtomb ()
    • การทดสอบ autoconf ใหม่สำหรับ wctype_t mbstate_t
    • การทดสอบ autoconf ใหม่สำหรับ basename () dirname () strndup () wcsndup ()
    • รวม / schily / wchar.h ที่เพิ่มขึ้นเพื่อรองรับการ mbrtowc () และ wcrtomb ()
    • รวม / schily / regex.h เพิ่ม
    • รวม / schily / libgen.h เพิ่ม
    • ทดสอบ autoconf ใหม่สำหรับ strlcat () wcslcat () strnlen () wcsnlen ()
    • ทดสอบ autoconf ใหม่สำหรับ strndup () wcsndup ()
    • libschily fnmatch () ในขณะนี้สนับสนุน FNM_IGNORECASE
    • libschily fnmatch () ในขณะนี้สนับสนุนอักขระ
    • libschily: ไฟล์ใหม่ strlcat.c wcslcat.c strnlen.c wcsnlen.c strndup.c wcsndup.c basename.c dirname.c
    • อัลกอริทึมใหม่ใน libschily strncat.c strncmp.c strncpy.c strnlen.c wcsncat.c wcsncmp.c wcsncpy.c wcsnlen.c ทำให้รหัสได้เร็วขึ้นและมีขนาดเล็ก.
    • Conf ไฟล์ใน / etc / เริ่มต้นการติดตั้งตอนนี้ 0644
    • หน้าคนอยู่ในขณะนี้โดยการติดตั้งค่าเริ่มต้นใน $ (INS_BASE) / share / คนไดเรกทอรีฐาน & quot; หุ้น & quot; อาจมีการเปลี่ยนแปลงโดย caling
    • Smake DEFMANBASE = สิ่งที่
    • README.compile ตอนนี้กล่าวถึง:
    • INS_RBASE = ตั้งค่าที่แตกต่างกัน & quot; ราก & quot; ติดตั้ง DEFMANBASE เส้นทาง = ตั้งค่าไดเรกทอรีฐานคนที่แตกต่างกัน STRIPFLAGS = -s Strip ไบนารีทั้งหมดที่มี & quot; ให้ติดตั้ง & quot; RUNPATH = แทนที่เอลฟ์ RUNPATH DEFUMASK = ตั้งค่าสิทธิ์เริ่มต้นที่แตกต่างกันสำหรับการสร้าง DEFINSUMASK ไดเรกทอรี = ตั้งค่าสิทธิ์เริ่มต้นที่แตกต่างกันสำหรับการสร้างไดเรกทอรีในเส้นทางที่ติดตั้ง
    • หน้าคนอยู่ในขณะนี้โดยการติดตั้งค่าเริ่มต้นใน $ (INS_BASE) / share / คนไดเรกทอรีฐาน & quot; หุ้น & quot; อาจมีการเปลี่ยนแปลงโดย caling
    • ทั้งหมด Makefile.dfl ตอนนี้ตรวจสอบว่า / etc / default / * มีอยู่แล้ว
    • แมโคร XARCH_GEN & XARCH_OPT ขณะนี้อยู่ในกฎ / CC-Sunpro * .rul
    • รวมไฟล์รวม / schily / ccomdefs.h ขณะนี้ช่วยให้ปิดการใช้งาน printf () การตรวจสอบรูปแบบสำหรับ GCC กับ -DNO_PRINTFLIKE นี้เป็นสิ่งจำเป็นในการที่จะช่วยให้ดาวเพื่อรวบรวมใน Solaris บน cosolidation เป็น id GCC ใบ้เกินไปสำหรับ printf () นามสกุล.
    • libschily /? eterrno.c ไม่เขียนทับนิยาม _TS_ERRNO เพื่อที่จะผ่านการคอมไพล์ constrints ใน Solaris บน Consoliation.
    • สัญลักษณ์ทั่วโลกหลายใหม่ใน mapfile สำหรับ libschily / libschily-mapvers
    • libschily / wcsndup.c ได้ frgotten รหัสและยังไม่ดำเนินการ internaly strndup ()
    • librmt.so ในขณะนี้รวมถึง libsocked ในแท็กเอลฟ์ที่จำเป็น
    • ทั้งหมดรวมถึงไฟล์ (แม้กระทั่งผู้ที่สร้างขึ้นโดย autoconf) ได้รับความคุ้มครองในขณะนี้กับการรวมหลาย ๆ .
    • ทดสอบ autoconf ใหม่สำหรับ pathconf () และ fpathconf ()
    • ไฟล์แผนที่ลิงเกอร์จะถูกประมวลผลในขณะนี้ผ่าน & quot; CPP & quot; (หรือ $ CC -E) และการส่งออกจะถูกเก็บไว้ใน $ (ARCHDIR) นี้จะช่วยให้มีแผนที่ลิงเกอร์เดียวแหล่งไฟล์สำหรับทุกแพลตฟอร์ม.
    • ทดสอบ autoconf ใหม่สำหรับการทำงาน CPP.
    • ทดสอบ autoconf ใหม่สำหรับ / dev / stdin / dev / stdout / dev / stderr / dev / FD / 0 / dev / FD / 1 / dev / FD2
    • การทดสอบ autoconf ใหม่: qecvt () qfcvt () qgcvt () _ldecvt () _ldfcvt () _ldgcvt () _ldecvt_r () _ldfcvt_r () _ldgcvt_r () qeconvert () qfconvert () qgconvert () ที่จำเป็นสำหรับการสนับสนุนคู่ยาว
    • ไฟล์แผนที่ลิงเกอร์ทั้งหมดได้รับการแก้ไขเพื่อให้ขึ้นอยู่กับแพลตฟอร์ม # ifdef ของ
    • libschily ในขณะนี้โดยเริ่มต้นเปลี่ยนชื่อ getline () fgetline () และ fexec * () เป็น js_getline () js_fgetline () และ js_fexec * () นี้เป็นสิ่งที่จำเป็นเพราะคณะกรรมการมาตรฐาน POSIX ละเลยกฎพื้นฐาน POSIX ไม่ได้ที่จะกำหนดฟังก์ชั่นที่อยู่ในความขัดแย้งกับฟังก์ชั่นการตีพิมพ์ที่มีอยู่ ฟังก์ชั่นจาก linschily ได้รับในที่สาธารณะตั้งแต่กว่า 25 ปีและฟังก์ชั่นที่กำหนดโดย POSIX.1-2008 แม้ละเมิดกฎการตั้งชื่อ POSIX fexec POSIX * () ฟังก์ชั่นเช่นการจะ จะต้องมีการเรียกว่าถูกต้อง fdexec * ().
    • โปรแกรมที่มีอยู่สามารถให้ชื่ออย่างเป็นทางการ getline () fgetline () และ fexec * () ที่พวกเขาจะเริ่มต้นโดยการ #defined JS ใหม่ _ * () ชื่อ ปิดการใช้งานสะดวกสบายนี้เพิ่ม:
    • NO_SCHILY_GETLINE #define ต้องการปิดใช้งาน schily getline () fgetline () NO_SCHILY_FEXEC #define ต้องการปิดใช้งาน schily fexec * () NO_SCHILY_FSPAWN #define ต้องการปิดใช้งาน fspawn schily * ()
    • Libschily ตอนนี้มีใหม่ & quot; ยาวสอง & quot; ฟังก์ชั่นการสนับสนุน: qftoes () และ qftofs ()
    • Libschily ในขณะนี้สนับสนุนที่เกิดเหตุ dependend จุดทศนิยมสำหรับการพิมพ์ตัวเลขทศนิยม.
    • Libschily ในขณะนี้สนับสนุนที่จะพิมพ์หมายเลขยาวสองโดยใช้รูปแบบ () printf ตามแบบพกพา () การดำเนินการ หากยังไม่สามารถทำงานสำหรับแพลตฟอร์มของคุณหรือถ้าไม่ทำงานอย่างถูกต้องสำหรับแพลตฟอร์มของคุณ, กรุณาแจ้ง นี้เป็นสิ่งที่จำเป็นสำหรับออกใหม่ & quot; OD & quot; การดำเนินการ.
    • ตัวเลือกการแยก getargs การดำเนินงาน () / getfiles () จาก libschily ในขณะนี้สนับสนุนที่จะรวมตัวเดียวธงบูลีนแม้ในกรณีสตริงตัวเลือกที่กล่าวถึงจะเรียกฟังก์ชั่นการโทรกลับถ้าเป็นตัวเลือกที่ถูกต้องพบ นี้เป็นสิ่งที่จำเป็นสำหรับออกใหม่ & quot; OD & quot; การดำเนินการ.
    • filereopen () จาก libschily ไม่เรียกเปิด () ภายในตราบใดที่มีความจำเป็นในการสร้างหรือตัดทอนไฟล์ไม่มี.
    • รวม / schily / wchar.h ขณะนี้รวมถึง workyround สำหรับแพลตฟอร์มที่ไม่ได้มี wcwidth ().
    • findinpath libschily ของ () ขณะนี้มีพารามิเตอร์เส้นทางใหม่ที่จะช่วยให้การใช้งานฟังก์ชั่นจาก BSH.
    • fnmatch ขณะนี้มีอยู่เสมอเป็น js_fnmatch ()
    • ทดสอบ autoconf ใหม่สำหรับ _qecvt () _qfcvt () _qgcvt () และ _qecvt_r () _qfcvt_r () _qgcvt_r () บน AIX
    • libschily / getexecpath.c ใหม่
    • รวม / schily / nlsdefs.h ขณะนี้รวมถึงแมโคร _ (s) และ __ (s) เพื่อสนับสนุน gettext () และ xgettext (1)
    • ปิดการใช้กฎต่อท้ายที่เรียบง่ายและกฎ Sufffix ใน Smake เพื่อ speedup สร้าง
    • เพิ่มความคิดเห็นในกฎระเบียบ / rules.rdi ว่ากฎนี้ไม่มีความจำเป็น ใช้กฎ / rules.dir ในทุกกรณี.
    • แฟ้มการกำหนดค่าใหม่ใน makefilesystem schily สำหรับ:
    • - * BSD บน amd64
    • - MacOS X บน amd64
    • - kfreebsd (Debian ในเคอร์เนล FreeBSD)
    • - Android
    • schily makefilesystem ในขณะนี้สนับสนุน CC_COM สำหรับทุกแพลตฟอร์มที่จะช่วยให้การเขียนทับคำสั่งในระดับต่ำสำหรับ C-คอมไพเลอร์.
    • makefilesystem schily ในขณะนี้สนับสนุน CC ++ _ COM สำหรับทุกแพลตฟอร์มที่จะช่วยให้การเขียนทับคำสั่งในระดับต่ำสำหรับ C ++ -. คอมไพเลอร์
    • Mingw ตอนนี้เริ่มต้นโดยการเชื่อมโยงกับ -lminwg32 แทน -lmgw32
    • Mac OS X ตอนนี้เริ่มต้นโดยการเชื่อมโยงกับ -lgcc_s.1 แทน -lgcc
    • ความเร็วรุ่นพึ่งพาสำหรับ cl.exe ร่วมกันโดยคำสั่ง SED บางอย่างในสาย SED เดียว
    • แก้ไขข้อผิดพลาดกับรุ่นพึ่งพาสำหรับ HP-UX
    • makefilesystem schily restructuresd อ้างอิงบางอย่างที่จะช่วยให้การทำงานให้ขนาน.
    • Android เป็นไม่ POSIX (โดยไม่ได้กำหนดฟังก์ชั่นต่าง ๆ ตามฟังก์ชั่นใน libc ตามที่ POSIX) เพราะมันพยายามที่จะกำหนดฟังก์ชั่นจำนวนมากที่เป็นส่วนหนึ่งของมาตรฐานเป็นแมโครอินไลน์ในรวมไฟล์เท่านั้น ซึ่งจะเป็นการแบ่ง autoconf ดังนั้นเราจึงจำเป็นที่จะเขียนการทดสอบบางอย่าง (เช่นสำหรับ getpagesize, tcgetpgrp, tcsetpgrp)
    • ระบบ autoconf schily ได้รับการปรับปรุงเพื่อรองรับการรวบรวมข้าม schily autoconf จะขึ้นอยู่กับ GNU autoconf GNU autoconf และไม่สนับสนุนการรวบรวมข้ามเพราะมันต้องใช้สคริปต์บนระบบเป้าหมายสำหรับบางส่วนของการทดสอบ.
    • & quot; กำหนดค่า & quot; สคริปต์ที่ถูกส่งด้วยระบบ Makefile schily วิ่ง 718 ทดสอบและ 68 ของพวกเขาจะต้องมีการทำงานบนระบบเป้าหมาย.
    • ระบบ autoconf schily ในขณะนี้สนับสนุนวิธีการที่จะทำงานเหล่านี้ 65 การทดสอบ natively บนระบบเป้าหมาย คุณจะต้องมีเครื่องที่มีคุณสมบัติที่เข้าสู่ระยะไกลหรือคุณต้องการจำลองด้วยวิธีการคัดลอกไฟล์ในระบบเทิดทูนและเรียกใช้ไบนารีในระบบเทิดทูนเป็นเช่น จำลอง Android.
    • ขณะนี้เราส่งมอบสามสคริปต์สำหรับ & quot; ระยะไกล & quot; การทำงานของโปรแกรมบนระบบเป้าหมาย:
    • runrmt_ssh รันคำสั่งลบผ่านทาง SSH runrmt_rsh รันคำสั่งลบผ่านทาง rsh runrmt_android รันคำสั่งลบผ่านทางสะพานแก้ปัญหา
    • หากคุณจำเป็นต้องเรียกใช้โปรแกรมจากระยะไกลบนระบบที่ไม่ได้รับการสนับสนุนโดยหนึ่งในสามมีสคริปที่คุณจำเป็นต้องปรับเปลี่ยนหนึ่งของพวกเขาเพื่อให้ตรงกับความต้องการของคุณ.
    • การเปิดใช้งานการรวบรวมข้ามใช้ตัวแปรสภาพแวดล้อมต่อไปนี้:
    • CONFIG_RMTCALL = การตั้งค่าให้ชี้ไปที่สคริปต์ที่จะดำเนินการระยะไกลเช่น:
    • CONFIG_RMTCALL = `pwd` / conf / runrmt_ssh
    • CONFIG_RMTHOST = การตั้งค่าให้ชี้ไปยังพื้นที่ห่างไกลของคุณเช่น:
    • CONFIG_RMTHOST = ชื่อโฮสต์หรือ CONFIG_RMTHOST = ผู้ใช้โฮสต์ @
    • ใช้หุ่นถ้าคุณชอบที่จะใช้สิ่งที่ต้องการที่จะจำลอง Android.
    • CONFIG_RMTDEBUG = กำหนดให้บางสิ่งบางอย่างที่ไม่เป็นโมฆะในเพื่อให้เครื่องหมายสคริปต์การดำเนินการระยะไกล comands ระยะไกล ซึ่งจะส่งผลในการส่งข้อความการกำหนดค่าที่ชอบ:
    • การตรวจสอบบิตในจำนวนอุปกรณ์รอง ... REMOTE 8
    • โปรดทราบว่า Smake มีคุณสมบัติ Automake ที่จะดึงข้อมูลระบบ ID ด้วยเหตุนี้คุณจะต้องเขียนทับแมโครที่เกี่ยวข้องจากบรรทัดคำสั่งถ้าคุณชอบที่จะทำรวบรวมข้าม.
    • แมโครทำให้ที่เกี่ยวข้อง:
    • K_Arch = # (sun4v) Kernel ARCH เต็มไปจาก uname -m / ซุ้ม -k M_ARCH = # (sun4) เครื่องเต็มไปจากซุ้ม P_ARCH = # (SPARC) ARCH CPU เต็มไปจาก uname -p / จักร OSNAME = # SunOS, ลินุกซ์, .... OSREL = # 5.11 osVersion = # snv_130 CCOM = # ชื่อคอมไพเลอร์ทั่วไป (เช่น & quot; gcc & quot;) CC_COM = # คอมไพเลอร์จะเรียก (ชื่อ + args พื้นฐาน)
    • ARCH = เขียนทับ M_ARCH และ P_ARCH
    • มันเป็นเรื่องปกติท​​ี่จะตั้ง suffucient ARCH และ OSNAME.
    • เพื่อที่จะใช้สภาพแวดล้อมของคอมไพเลอร์ข้ามแทนคอมไพเลอร์พื้นเมืองกำหนดให้ CC_COM แมโครเพื่อบางสิ่งบางอย่างที่แตกต่างจาก & quot; ซีซี & quot;.
    • ถ้าคุณอยู่ในลินุกซ์และชอบที่จะรวบรวมสำหรับ Android ทำต่อไปนี้:
    • 1) การตั้งค่ากำกับ CC คำแนะนำจากโซ่เครื่องมือคอมไพเลอร์ข้าม
    • 2) การตั้งค่าตัวแปรสภาพแวดล้อม CONFIG_RMTCALL / CONFIG_RMTHOST เช่น: setenv CONFIG_RMTCALL `pwd` / conf / runrmt_android setenv CONFIG_RMTHOST NONE
    • 3) โทร Smake:
    • Smake ARCH = armv5 OSNAME = ลินุกซ์ CCOM gcc = & quot; CC_COM = $ CC & quot;
    • โปรแกรมหลายโปรแกรมการทดสอบไม่มีอีกต่อไปสำหรับ HAVE_DEV_ * แต่สำหรับ HAVE__DEV_ * ที่เราได้เปลี่ยนจากการทดสอบการเขียนมือ / dev / TTY / dev / โมฆะและคล้ายกับ AC_CHECK_FILES (/ dev / TTY / dev / null / dev / ศูนย์ )
    • การสนับสนุนสำหรับ Pyro (โคลนพยางค์) ถูกเพิ่มเข้ามา ขอบคุณที่เฟลมิงเอชโซเรนเซน
    • การสนับสนุนที่ดีขึ้นสำหรับซ็อกเก็ Win32 เมื่อใช้ cl.exe
    • หลีกเลี่ยงปัญหากับต้นแบบที่ไม่ได้มาตรฐานสำหรับการเชื่อมโยง () ยกเลิกการเชื่อมโยง () อ่าน () และเขียน () จาก cl.exe
    • เพิ่มการสนับสนุนสำหรับกึ่งคงที่ (ที่กำหนดไว้ล่วงหน้า) รวมไฟล์สำหรับ Android: รวม / schily / armv5tejl-ลินุกซ์ gcc / xconfig.h
    • ใหม่รวมถึงไฟล์รวม / schily / หลง _ * h. จะใช้ในการห่อหุ้ม #error งบ CPP ที่จะเป็นอย่างอื่นเสมอป้องกันไม่ให้เกิดการสะสมกับคอมไพเลอร์ K & R.
    • เพิ่มการแก้ปัญหาสำหรับข้อผิดพลาดคอมไพเลอร์ LLVM ที่สร้างรหัสที่มีลูปไม่มีที่สิ้นสุดในบางกรณี.
    • Libschily ขณะนี้มีการเชื่อมโยงกับ $ (LIB_INTL) เมื่อ libschily ใช้ร่วมกันจะถูกสร้างขึ้น.
    • หลีกเลี่ยงการได้รับคำเตือนจาก cl.exe สำหรับ libschily / gettimeofday.c
    • โปรแกรมทำให้แฟ้มการกำหนดค่าที่เฉพาะเจาะจงสำหรับ schily Makefilesystem กฎ / mk-.id (สำหรับ Sunpro เลื่อม), กฎ / mk-smake.id กฎ / ตอนนี้ mk-gmake.id รวมถึงคำจำกัดความของแมโคร:
    • SPACE อักขระช่องว่างเดียว ('') NUMBER_SIGN จำนวน ASCII ร้องเพลง ('#')
    • โปรดทราบว่ามาตรฐาน POSIX มิฉะนั้นต้องใช้โปรแกรมที่ทำให้ไม่สามารถที่จะมี '#' ปรากฏในส่วนที่ไม่ได้แสดงความคิดเห็นของ Makefiles.
    • พยายามที่จะหลีกเลี่ยงการเปลี่ยนแปลงไม่รอบคอบใน windef.h ไฟล์จาก Cygwin-1.7.17 (ฤดูใบไม้ร่วง 2012) ที่เกี่ยวข้องกับชนิด BOOL ที่ทำให้ windefs.h จาก Cygwin ที่ผ่านมาไม่เข้ากันได้กับไฟล์ต้นฉบับจากไมโครซอฟท์ แก้ไขที่อยู่ในการรวม / schily / windows.h
    • ขอบคุณที่แลง Hoang โทมัสไม้กระดานและอื่น ๆ สำหรับการรายงานและความช่วยเหลือเกี่ยวกับการได้รับการแก้ไขปัญหาชื่อข้างต้น
    • แสดงความคิดเห็นที่ดีขึ้นใน libschily / comerr.c ที่จะช่วยให้เข้าใจทางออก () รหัสพับ 8 บิตและวิธีการที่มันอาจหลีกเลี่ยงได้.

    ซอฟต์แวร์ที่คล้ายกัน

    archive.sh
    archive.sh

    20 Feb 15

    Unarc
    Unarc

    3 Jun 15

    At4J
    At4J

    20 Feb 15

    ความคิดเห็นที่ S tar

    ความคิดเห็นที่ไม่พบ
    เพิ่มความคิดเห็น
    เปิดภาพ!