คำถามติดแท็ก buffer

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

15
วิธีการล้างผลลัพธ์ก่อนหน้าใน Terminal ใน Mac OS X
ฉันรู้ว่าclearคำสั่งที่ 'ล้าง' หน้าจอปัจจุบัน แต่ทำได้เพียงแค่พิมพ์บรรทัดใหม่จำนวนมากเนื้อหาที่เคลียร์เพิ่งเลื่อนขึ้น มีวิธีการล้างเอาต์พุตก่อนหน้าทั้งหมดจากเทอร์มินัลทั้งหมดหรือไม่เพื่อให้ฉันไม่สามารถเข้าถึงได้แม้จะเลื่อนขึ้นหรือไม่?
523 macos  shell  buffer  clear 

10
ฉันจะปิดบัฟเฟอร์เดี่ยว (จากหลาย ๆ ) เป็นกลุ่มได้อย่างไร
ฉันเปิดไฟล์หลายไฟล์ใน Vim โดยทำงานเช่น vim a/*.php ซึ่งเปิด 23 ไฟล์ จากนั้นฉันทำการแก้ไขและเรียกใช้ต่อไปนี้สองครั้ง :q ซึ่งปิดบัฟเฟอร์ทั้งหมดของฉัน คุณจะปิดบัฟเฟอร์เดียวใน Vim ได้อย่างไร
445 vim  buffer 

5
ByteBuffer ใช้ใน Java คืออะไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ แอปพลิเคชันตัวอย่างสำหรับ a ByteBufferใน Java มีอะไรบ้าง โปรดแสดงรายการตัวอย่างสถานการณ์ที่ใช้สิ่งนี้ ขอบคุณ!
199 java  buffer  bytebuffer 

11
ความแตกต่างระหว่างหน่วยความจำบัฟเฟอร์และแคชใน Linux คืออะไร?
สำหรับผมแล้วมันยังไม่ชัดเจนสิ่งที่แตกต่างระหว่างแนวคิดหน่วยความจำลินุกซ์สอง: และbuffer cacheฉันได้อ่านบทความนี้แล้วและสำหรับฉันแล้วความแตกต่างระหว่างพวกเขาคือนโยบายการหมดอายุ: นโยบายของบัฟเฟอร์เป็นแบบเข้าก่อนออกก่อน นโยบายของแคชคือใช้น้อยที่สุด ฉันถูกไหม? โดยเฉพาะฉันกำลังดูทั้งสองคำสั่ง: freeและvmstat james@utopia:~$ vmstat -S M procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 5 0 0 173 67 912 0 0 19 59 75 1087 24 4 71 1 …
179 linux  caching  memory  buffer 

9
คุณจะกำหนดขนาดบัฟเฟอร์ในอุดมคติได้อย่างไรเมื่อใช้ FileInputStream
ฉันมีวิธีที่สร้าง MessageDigest (แฮช) จากไฟล์และฉันต้องทำสิ่งนี้กับไฟล์จำนวนมาก (> = 100,000) ฉันควรทำให้บัฟเฟอร์ที่ใช้อ่านจากไฟล์มีขนาดใหญ่เพียงใดเพื่อเพิ่มประสิทธิภาพ ทุกคนส่วนใหญ่คุ้นเคยกับรหัสพื้นฐาน (ซึ่งฉันจะทำซ้ำที่นี่ในกรณี): MessageDigest md = MessageDigest.getInstance( "SHA" ); FileInputStream ios = new FileInputStream( "myfile.bmp" ); byte[] buffer = new byte[4 * 1024]; // what should this value be? int read = 0; while( ( read = ios.read( buffer ) ) > 0 …

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


11
บันทึกหน้าจอ (โปรแกรม) ส่งออกไปยังไฟล์
ฉันต้องการบันทึกผลลัพธ์ทั้งหมดของหน้าจอเป็นไฟล์เพื่อตรวจสอบเนื้อหาทั้งหมดในภายหลัง เหตุผลก็คือฉันทิ้งหน่วยความจำแฟลชผ่านพอร์ตอนุกรมโดยใช้หน้าจอเพื่อเชื่อมต่อกับมัน ฉันต้องการบันทึกลงในไฟล์เพื่อตรวจสอบโครงสร้างหน่วยความจำ ฉันพยายามแล้ว: $: screen /dev/ttyUSB0 115200 >> foo.txt $: screen /dev/ttyUSB0 115200 | tee foo.txt และฉันก็พยายามใช้บัฟเฟอร์ไฟล์จากหน้าจอด้วย แต่ฉันไม่เข้าใจวิธีใช้ มีวิธีง่ายๆไหม?

6
บัฟเฟอร์ recv ของฉันควรใหญ่แค่ไหนเมื่อเรียก recv ในไลบรารีซ็อกเก็ต
ฉันมีคำถามสองสามข้อเกี่ยวกับซ็อกเก็ตไลบรารี่ในซีนี่คือตัวอย่างของโค้ดที่ฉันจะอ้างถึงในคำถามของฉัน char recv_buffer[3000]; recv(socket, recv_buffer, 3000, 0); ฉันจะตัดสินใจได้อย่างไรว่าจะสร้าง recv_buffer ขนาดใหญ่ได้อย่างไร ฉันใช้ 3000 แต่มันไม่มีข้อ จำกัด จะเกิดอะไรขึ้นหากrecv()ได้รับแพ็คเก็ตที่ใหญ่กว่าบัฟเฟอร์ของฉัน ฉันจะรู้ได้อย่างไรว่าฉันได้รับข้อความทั้งหมดโดยไม่ต้องโทร recv อีกครั้งและรอมันตลอดไปเมื่อไม่มีอะไรจะได้รับ? มีวิธีที่ฉันสามารถสร้างบัฟเฟอร์ไม่ได้มีพื้นที่จำนวนคงที่เพื่อให้ฉันสามารถเพิ่มไปเรื่อย ๆ โดยไม่ต้องกลัวที่จะหมดพื้นที่? อาจใช้strcatเพื่อเชื่อมการrecv()ตอบสนองล่าสุดกับบัฟเฟอร์หรือไม่ ฉันรู้ว่ามันเป็นคำถามจำนวนมากในหนึ่งเดียว แต่ฉันจะขอบคุณคำตอบอย่างมาก
129 c  sockets  buffer  recv 

5
รีเฟรชไฟล์ทั้งหมดในบัฟเฟอร์จากดิสก์ในกลุ่ม
คำสั่งในการรีเฟรชไฟล์จากเวอร์ชันบนดิสก์คือ :e! ฉันจะทำเช่นเดียวกันกับไฟล์ทั้งหมดในบัฟเฟอร์ได้อย่างไร ความเป็นมา: ฉันต้องการสิ่งนั้นเพราะฉันใช้ git กับหลายสาขาโดยเปิดเป็นกลุ่มเดียวที่มีบัฟเฟอร์ เมื่อฉันชำระเงินสาขาฉันต้องการรีเฟรชเป็นกลุ่ม
124 git  vim  buffer 


4
แตกต่างสองแท็บในเป็นกลุ่ม
สถานการณ์: ฉันได้เปิด Vim และวางข้อความบางส่วน ฉันเปิดแท็บที่สอง:tabeและวางข้อความอื่นในนั้น เป้าหมาย: ฉันต้องการแท็บที่สามที่มีผลลัพธ์เทียบเท่ากับการเขียนทั้งสองข้อความลงในไฟล์และเปิดด้วยvimdiff. สิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้คือ "แตกต่างกันระหว่างบัฟเฟอร์ปัจจุบันกับไฟล์" แต่ไม่diffได้รับบัฟเฟอร์ที่เปิดอยู่ แต่ไม่ได้บันทึกสองรายการ
121 vim  diff  tabs  vimdiff  buffer 

8
จะลบบัฟเฟอร์หลายตัวใน Vim ได้อย่างไร?
สมมติว่าฉันมีไฟล์หลายไฟล์ที่เปิดเป็นบัฟเฟอร์ใน Vim ไฟล์ที่มี*.cpp, และบาง*.h *.xmlฉันต้องการปิดไฟล์ XML ทั้งหมดด้วย:bd *.xml. อย่างไรก็ตาม Vim ไม่อนุญาตสิ่งนี้ (E93: มากกว่าหนึ่งรายการ ... ) มีวิธีใดบ้างที่จะทำเช่นนี้? ปล. รู้ว่า:bd file1 file2 file3ใช้ได้ ฉัน*.xmlจะประเมินได้file1.xml file2.xml file3.xmlอย่างไร?
120 vim  buffer 

6
การเริ่มต้นอาร์เรย์ถ่าน C
ฉันไม่แน่ใจว่าจะมีอะไรอยู่ในอาร์เรย์ถ่านหลังจากเริ่มต้นด้วยวิธีต่อไปนี้ 1. char buf[10] = ""; 2. char buf[10] = " "; 3.char buf[10] = "a"; สำหรับกรณีที่ 2 ผมคิดว่าbuf[0]ควรจะ' ', buf[1]ควรจะเป็น'\0'และจากbuf[2]ไปbuf[9]จะเป็นเนื้อหาที่สุ่ม สำหรับกรณีที่ 3 ผมคิดว่าbuf[0]ควรจะ'a', buf[1]ควรจะ '\ 0' และจากbuf[2]ไปbuf[9]จะเป็นเนื้อหาที่สุ่ม ถูกต้องหรือไม่ และสำหรับกรณีที่ 1 จะเป็นbufอย่างไรใน? buf[0] == '\0'และจากbuf[1]ถึงbuf[9]จะเป็นเนื้อหาแบบสุ่ม?

6
บังคับให้ไลน์บัฟเฟอร์ของ stdout เมื่อส่งไปที่ที
โดยปกติจะstdoutเป็นบรรทัดบัฟเฟอร์ กล่าวอีกนัยหนึ่งคือตราบใดที่printfอาร์กิวเมนต์ของคุณจบลงด้วยการขึ้นบรรทัดใหม่คุณสามารถคาดหวังว่าจะพิมพ์บรรทัดได้ทันที teeนี้จะไม่ปรากฏการระงับเมื่อใช้ท่อเปลี่ยนเส้นทางไปยัง ฉันมีโปรแกรม C ++ aที่ส่งออกสตริงเสมอ - เทอร์มิ\nนนิ่งเป็นstdout. เมื่อรันด้วยตัวเอง ( ./a) ทุกอย่างจะพิมพ์ออกมาอย่างถูกต้องและในเวลาที่เหมาะสมตามที่คาด แต่ถ้าฉันท่อมันtee( ./a | tee output.txt) teeก็ไม่ได้พิมพ์อะไรจนกว่าจะจบการทำงานซึ่งขัดแย้งกับวัตถุประสงค์ของการใช้ ฉันรู้ว่าฉันสามารถแก้ไขได้โดยเพิ่มfflush(stdout)การดำเนินการหลังการพิมพ์แต่ละครั้งในโปรแกรม C ++ แต่มีวิธีที่ง่ายกว่านี้ไหม? มีคำสั่งที่ฉันสามารถรันได้ไหมตัวอย่างเช่นที่จะบังคับstdoutให้เป็นไลน์บัฟเฟอร์แม้ว่าจะใช้ไปป์
118 unix  buffer  pipe  stdout  tee 

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