สังสัยมากนานแล้วอ่ะครับ
เข้าใจว่า เป็น IO มาตรฐาน
แต่ว่าทำไมถึงไม่เป็น Include ตัวเดียวกัน
เวลาผมเขียนที่บ้าน ใช้ visual.net ก็จะ include "stdafx.h"
พอจะไปส่งงานอาจารย์ ต้องมานั่งแก้ ให้เป็น "stdio.h"
สังสัยมากนานแล้วอ่ะครับ
เข้าใจว่า เป็น IO มาตรฐาน
แต่ว่าทำไมถึงไม่เป็น Include ตัวเดียวกัน
เวลาผมเขียนที่บ้าน ใช้ visual.net ก็จะ include "stdafx.h"
พอจะไปส่งงานอาจารย์ ต้องมานั่งแก้ ให้เป็น "stdio.h"
ผมคิดว่าจริงๆแล้วมันก็เป็นแค่หัวไฟล์ที่จะรวมเข้าไปกับไฟล์ exe หลังการ compile อะครับ
จะต้องไปดูว่าโปรแกรมที่เราใช้กับโปรแกรมที่อาจารย์ใช้นั้นต่างกันอย่างไรครับ
สำหรับผมก็ยังไม่ได้เขียน visual.net แต่ก็เจอ c มาทั้งปีเหมือนกัน
จากประสบการณ์แล้วคือ แค่เข้าไปแก้ชื่อไฟล์หัวในโฟลเดอร์ที่บรรจุำพวกไฟล์พวกนี้ไว้ เท่านั้นก็เรียบร้อยแล้วครับ
เรื่องความแตกต่างก็ต้องลองคัดลอก stdio.h ของอาจารย์ มาเทียบกับ stdafx.h ว่ามีฟังก์ชั่นตัวไหนเหมือนหรือต่างกันบ้างครับ ความแตกต่างกันก็คงจะเท่านั้นล่ะครับ
ส่วนถ้าไม่อยากเปลี่ยน ก็ลองแก้ชื่อไฟล์ที่เป็น stdafx ให้เป็น stdio ดูครับ
แล้วลอง compile ดูว่าผ่านไหม ถ้าผ่านก็จบละครับ เวลาจะ include ก็ใช้ stdio ไปเลย
เพราะตามความคิดของผมแล้ว พอใช้เรื่อยๆขึ้นไป ไฟล์พวกนี้มันก็ต้องเปิดเพิ่มเติมไปเรื่อยอะครับ
บางทีก็มีซ้ำกันด้วยซ้ำ จะใช้ยังไงก็ตาม สุดท้ายแล้ว ผลลัพธ์ก็ออกมาอย่างเดิม
แต่อย่างไรก็ต้อง ต้องดูที่ compiler ด้วยนะครับ ผมใช้ TurboC ก็ไม่แน่ใจเหมือนกันว่าตัวอื่นจะแก้ได้เหมือนกันหรือเปล่า เพราะมันก็คงจะซับซ้อนมากกว่า TurboC เป็นธรรมดา
[b]spicydog[/b]
มันทำหน้าที่แบบเดียวกันครับ..
คือเป็น IOมาตารฐาน
แต่ผมสงสัยว่าทำไม ถึงไม่ใช้ชื่อเดียวกันไปเลย...
จากที่ผมเรียนมาอาจารย์ผมก็ให้ใช้ได้ทั้ง2แบบเลยแต่อาจารย์ผมบอกว่ามันจะอยู่ที่การนำไปใช้เพราะบางครั้งอาจเกิดbugขึ้นได้เลยมีทั้ง2แบบเป็น IO มาตรฐานเพื่อเอาไว้ใช้
stdafx.h มันเป็นตัวเก็บ precompiled header ไม่ใช่เหรอครับ?
[i]"Any fool can use a computer. Many do."(Ted Nelson)[/i]
stdafx.h
เป็น file ที่ถูกสร้างขึ้น โดย visual program
ถ้าท่านลองสังเกตดู โดยการสร้างโปรเจค หลายๆ แบบดู
จะเห็นได้ ว่าทุกแบบจะมีการสร้าง ไฟล์ stdafx.h
ขึ้นมา ขอให้ท่าน ลองเปิด file นี้ดู เปรียบเทียบกัน
จะเห็นได้ ว่า สิ่งที่เขียน หรือ include header และ preprocess
มันจะมีความแตกต่างกันออกไป และท่านยังสามารถ พบ
stdio.h มีการ include เข้ามาเก็บไว้ ในบางโปรเจค อีกด้วย
สิ่งที่ผม เข้าใจ ก็คือ
file stdafx.h นี้ ถูกสร้างขึ้น โดย อัตโนมัติ ตามสภาพ แวดล้อม
ของ โปรเจค ที่ ท่านเลือกมาเพื่อใช้งาน นั่นเอง น่ะครับ
ผมเพิ่งได้่เรียนมาเทอมเดียว แต่ความรู้ยังไม่แน่น
คิดว่าเปนตัว header file ประกาศต่างหน้าที่กันอ่ะคับ
Actions : (View-Readers)
There are no names to display.