การเขียนโปรแกรม C ใน Visual Studio


104

ฉันสามารถใช้ Visual Studio เพื่อเรียนรู้การเขียนโปรแกรม C ได้หรือไม่ ในเมนูโครงการใหม่ฉันสามารถเลือกระหว่าง Visual Basic, Visual C #, Visual C ++, Visual F # และอื่น ๆ แต่ฉันไม่เห็น "C" หรือ "Visual C"


3
VS รองรับเฉพาะชุดย่อยของ C89 หากคุณต้องการคอมไพเลอร์ C จริงบน windows คุณจะต้องใช้ mingw-64
Mgetz

5
Visual Studio 2013 รองรับ C ได้ดีกว่าปี 2012 มาก
Inisheer

ฉันมีหนังสือและวิดีโอสอน แต่พวกเขาทั้งหมดมีคำแนะนำของตัวเองเมื่อพูดถึงเครื่องมือที่ใช้ในการรวบรวมและเขียนโค้ด ฉันแค่ต้องการสิ่งที่ฉันคุ้นเคย
HelloWorld

3
@ JérômeRadixแม้ว่าในย่อหน้าเดียวกันเขาพูดว่า "IDE หรือ" สภาพแวดล้อมการพัฒนาแบบบูรณาการ "จะทำให้คุณโง่" และ "มันมีประโยชน์ถ้าคุณพยายามทำบางสิ่งให้สำเร็จ" จากนั้นเขาก็บอกว่าพวกเขาไม่มีจุดหมายสำหรับ C ( แต่ดูเหมือนจะเป็นเพราะเขายังไม่เจอสิ่งที่ดี) ฉันแน่ใจว่าถ้าเขียน GUI / เรียนรู้ที่จะเขียน GUI และแน่นอนว่าใช้ไลบรารีถ้ามี IDE ที่ดีสำหรับ C มันจะมีประโยชน์มากไม่ใช่ไม่มีจุดหมาย
barlop

15
การพูด IDE จะทำให้คุณโง่กับฉันคล้ายกับการพูดว่าดีบักเกอร์หรือตัวแยกชิ้นส่วนจะทำให้คุณโง่ มันเป็นเครื่องมือ รู้ที่อยู่ของมันและรู้ว่าไม่มีอะไรทดแทนการเรียนรู้พื้นฐาน อย่าทำให้มันกลายเป็นโบกี้แมนเพราะบางคนใช้เพื่อหลีกเลี่ยงการเรียนรู้
PeterT

คำตอบ:


89

คำตอบสั้น ๆ : ใช่คุณต้องเปลี่ยนชื่อไฟล์. cpp เป็น c เพื่อให้คุณสามารถเขียน C: https://msdn.microsoft.com/en-us/library/bb384838.aspx?f=255&MSPPError=-2147217396

จากลิงค์ด้านบน:

ตามค่าเริ่มต้นคอมไพเลอร์ Visual C ++ จะถือว่าไฟล์ทั้งหมดที่ลงท้ายด้วย. c เป็นซอร์สโค้ด C และไฟล์ทั้งหมดที่ลงท้ายด้วย. cpp เป็นซอร์สโค้ด C ++ ในการบังคับให้คอมไพเลอร์ถือว่าไฟล์ทั้งหมดเป็น C โดยไม่คำนึงถึงนามสกุลไฟล์ให้ใช้อ็อพชันคอมไพเลอร์ / Tc

ดังที่กล่าวมาฉันไม่แนะนำให้เรียนภาษา C ใน Visual Studio ทำไมต้อง VS? มีคุณสมบัติมากมายที่คุณจะไม่ใช้ในขณะเรียนรู้ C


29
บ่อยครั้งที่ "การเรียนรู้ C" (หรือ C ++) เป็นส่วนที่ง่ายส่วนที่ยากคือการเรียนรู้วิธีสร้างแอปพลิเคชันที่มีประโยชน์ (มักใช้ GUI) ซึ่งต้องทำความคุ้นเคยกับไลบรารีและเฟรมเวิร์กทุกประเภทและ IDE ทำให้ประสบการณ์นี้สามารถจัดการได้มากขึ้น .
Dai

10
ฉันคุ้นเคยกับ Visual Studio ที่ใช้ภาษาอื่นอยู่แล้ว
HelloWorld

13
เพื่อให้แน่ใจว่าไม่ได้ตั้งค่าแฟล็กการคอมไพล์ / TP หากตั้งค่าสถานะแฟล็กจะสร้างโปรแกรม. c เป็น C ++
ถ้วย

58

ใช่คุณสามารถเรียนรู้ภาษา C โดยใช้ Visual Studio ได้เป็นอย่างดี

Visual Studio มาพร้อมกับคอมไพเลอร์ C ของตัวเองซึ่งจริงๆแล้วคือคอมไพเลอร์ C ++ เพียงใช้.cนามสกุลไฟล์เพื่อบันทึกซอร์สโค้ดของคุณ

คุณไม่จำเป็นต้องใช้ IDE เพื่อคอมไพล์ C คุณสามารถเขียนซอร์สใน Notepad และคอมไพล์ในบรรทัดคำสั่งโดยใช้พรอมต์คำสั่งสำหรับนักพัฒนาซึ่งมาพร้อมกับ Visual Studio

เปิดพรอมต์คำสั่งของนักพัฒนาป้อนไดเร็กทอรีที่คุณกำลังทำงานใช้clคำสั่งเพื่อคอมไพล์โค้ด C ของคุณ

ตัวอย่างเช่นcl helloworld.cคอมไพล์ไฟล์ชื่อhelloworld.c.

อ้างอิงสิ่งนี้สำหรับข้อมูลเพิ่มเติม: Walkthrough: การรวบรวมโปรแกรม C บน Command Line

หวังว่านี่จะช่วยได้


8

ใช่แล้วไม่มี Visual Stdio รุ่นใดที่กล่าวถึง C แต่รวมอยู่ในคอมไพเลอร์ C ++ (คุณต้องดูภายใต้ C ++) ความแตกต่างหลักระหว่างการใช้ C และ C ++ คือระบบการตั้งชื่อ (เช่นใช้. cและไม่ใช่. cpp )

คุณจะต้องระวังไม่ให้สร้างโครงการ c ++ และเปลี่ยนชื่อไปที่ C แต่ที่ไม่ได้ทำงาน

การเข้ารหัส C จากบรรทัดคำสั่ง:

เช่นเดียวกับที่คุณสามารถใช้gccบน Linux (หรือหากคุณติดตั้ง MinGW) Visual Studio มีคำสั่งที่จะใช้จากพรอมต์คำสั่ง (ต้องเป็นพรอมต์คำสั่งของ Visual Studio Developer) ดังที่ได้กล่าวไว้ในคำตอบอื่น ๆ ที่คุณสามารถใช้clเพื่อรวบรวมไฟล์ c ของคุณ (ตรวจสอบให้แน่ใจว่าชื่อ. c )

ตัวอย่าง:

cl myfile.c

หรือตรวจสอบคำสั่งที่ยอมรับทั้งหมด:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27030.1 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>

การเข้ารหัส C จาก IDE:

ไม่ต้องสงสัยเลยว่าหนึ่งในคุณสมบัติที่ดีที่สุดของ Visual Studio คือ IDE ที่สะดวกสบาย

แม้ว่าจะต้องใช้การกำหนดค่ามากกว่า แต่คุณจะได้รับโบนัสเช่นการดีบักพื้นฐานก่อนที่จะคอมไพล์ (เช่นหากคุณลืม a ;)

ในการสร้างโครงการ C ให้ทำดังต่อไปนี้:

เริ่มต้นโครงการใหม่ไปอยู่ภายใต้ C ++ และเลือกEmpty Projectใส่Nameของโครงการของคุณและคุณต้องการที่จะติดตั้งจากนั้นคลิกLocation Okตอนนี้รอโครงการสร้าง

ป้อนคำอธิบายภาพที่นี่

ถัดไปภายใต้การSolutions ExplorerคลิกขวาSource Filesเลือกแล้วAdd New Itemคุณควรเห็นสิ่งนี้:

ป้อนคำอธิบายภาพที่นี่

เปลี่ยนชื่อSource.cppเพื่อรวม.cส่วนขยาย ( Source.cตัวอย่าง) เลือกตำแหน่งที่คุณต้องการเก็บไว้ฉันขอแนะนำให้เก็บไว้ในโฟลเดอร์โครงการเสมอ (ในกรณีนี้C:\Users\Simon\Desktop\Learn\My First C Code)

ควรเปิด.cไฟล์พร้อมที่จะแก้ไข Visual Studio สามารถใช้งานได้ตามปกติและมีความสุขในการเข้ารหัส!


7

ใช่คุณสามารถ:

คุณสามารถสร้างโปรเจ็กต์ภาษาซีโดยใช้เทมเพลตโปรเจ็กต์ C ++ ในโปรเจ็กต์ที่สร้างขึ้นให้ค้นหาไฟล์ที่มีนามสกุลไฟล์. cpp และเปลี่ยนเป็น. c จากนั้นบนเพจคุณสมบัติโครงการสำหรับโปรเจ็กต์ (ไม่ใช่สำหรับโซลูชัน) ให้ขยายคุณสมบัติคอนฟิกูเรชัน, C / C ++ และเลือกขั้นสูง เปลี่ยนการตั้งค่า Compile As เป็น Compile as C Code (/ TC)

https://docs.microsoft.com/en-us/cpp/ide/visual-cpp-project-types?view=vs-2017


0

คุณสามารถใช้ Visual Studio สำหรับ C ได้ แต่ถ้าคุณจริงจังกับการเรียนรู้ C ใหม่ล่าสุดฉันขอแนะนำให้ใช้บางอย่างเช่น Code :: Blocks ที่มีเวอร์ชัน MinGW-TDM ซึ่งคุณจะได้รับเวอร์ชัน 32 บิต ฉันใช้เวอร์ชัน 5.1 ซึ่งรองรับ C และ C ++ ใหม่ล่าสุด ข้อดีอีกประการหนึ่งคือเป็นแพลตฟอร์มที่ดีกว่าสำหรับการสร้างซอฟต์แวร์ที่สามารถย้ายไปยังแพลตฟอร์มอื่น ๆ ตัวอย่างเช่นหากคุณต้องการเขียนโค้ดใน C โดยใช้ไลบรารี SDL คุณสามารถสร้างซอฟต์แวร์ที่สามารถคอมไพล์ใหม่โดยมีการเปลี่ยนแปลงโค้ดเพียงเล็กน้อยหรือไม่มีเลยบน Linux, Apple และอุปกรณ์มือถือจำนวนมาก วิธีที่ Microsoft ดำเนินการมาในทุกวันนี้ฉันคิดว่านี่เป็นเส้นทางที่ดีกว่าอย่างแน่นอน


1
ความช่วยเหลือของคุณได้รับการชื่นชมอย่างจริงจัง ขออภัยสำหรับข้อความของฉันที่อาจรุนแรงเกินไป ฉันยอมรับว่าคำตอบของคุณอาจเป็นประโยชน์กับใครบางคน ตอนนี้ฉันแค่พยายามแสดงความคิดเห็นเพื่อให้คุณสามารถเขียนโพสต์ได้ดีขึ้น ฉันต้องการจะบอกว่านี่ไม่ได้ให้คำตอบสำหรับคำถามของ OP เกี่ยวกับวิธีการเขียนใน C ด้วย MS VS
HolyBlackCat

0

ดาวน์โหลด visual studio c ++ express เวอร์ชัน 2006,2010 เป็นต้นจากนั้นไปที่สร้างโปรเจ็กต์ใหม่และสร้างโปรเจ็กต์ c ++ เลือกโปรเจ็กต์ cmd ตรวจสอบการเปลี่ยนชื่อซีซีที่ว่างด้วยชื่อไฟล์นามสกุล c

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