ฉันเป็นผู้เริ่มต้นและฉันใหม่กับ Ubuntu ฉันเพิ่งติดตั้งและต้องการเรียกใช้โปรแกรม C ฉันไม่รู้ว่าจะใช้แพลตฟอร์มใดหรือเขียนรหัสที่ไหน ฉันต้องใช้ไฟล์ส่วนหัว pthread.h ในโปรแกรม มีใครช่วยฉันบ้าง
ฉันเป็นผู้เริ่มต้นและฉันใหม่กับ Ubuntu ฉันเพิ่งติดตั้งและต้องการเรียกใช้โปรแกรม C ฉันไม่รู้ว่าจะใช้แพลตฟอร์มใดหรือเขียนรหัสที่ไหน ฉันต้องใช้ไฟล์ส่วนหัว pthread.h ในโปรแกรม มีใครช่วยฉันบ้าง
คำตอบ:
ใช้:
gcc MyProgram.c -o MyProgram -lpthread
และอย่าลืมที่จะรวมไลบรารี POSIX ในรหัสของคุณ มันจะรวบรวมรหัสของคุณ
-lpthread
ข้อโต้แย้งman gcc
ใด ๆ แต่มี-pthread
ข้อโต้แย้ง ทั้งสองทำงานได้ดีบน Ubuntu 14.04 ด้วย gcc-4.8
หากคุณจะรวบรวมโปรแกรม C ด้วยpthread.hใน LINUX โดยใช้ GCC หรือ G ++ คุณจะต้องใช้ตัวเลือก–lpthreadหลังจากคำสั่งรวบรวม
gcc xyz.c -o xyz -lpthread
ที่นี่
gccเป็นคำสั่งคอมไพเลอร์ (ชื่อคอมไพเลอร์)
xyz.cเป็นชื่อไฟล์ต้นฉบับ
-oเป็นตัวเลือกในการสร้างไฟล์ objcect
xyzเป็นชื่อของไฟล์ object (binary)
-lpthreadเป็นตัวเลือกสำหรับ pthread.h
สำหรับรายละเอียดเพิ่มเติมที่นี่เป็นลิงค์เชื่อมโยงบทความที่สมบูรณ์เกี่ยวกับเรื่องนี้
รวบรวมโปรแกรม C ด้วย pthread.h ใน Linux
สิ่งแรกที่คุณจะต้องใช้ใน Ubuntu เพื่อรวบรวมโปรแกรม C / C ++ คือการติดตั้ง GCC (Gnu Compiler Collection) ซึ่งเป็นส่วนหนึ่งของbuild-essential
แพ็คเกจโดยทำดังนี้:
sudo apt-get install build-essential
gcc
จากนั้นคุณสามารถทดสอบว่าคุณมีมันติดตั้งโดยการเรียกใช้ หากคุณเห็นข้อผิดพลาดเช่นFatal error: file not provided
(ไม่แน่ใจว่าข้อความข้อผิดพลาดที่แน่นอน แต่ควรเป็นสิ่งที่คล้ายกัน) นั่นหมายความว่าคุณมีคอมไพเลอร์พร้อม
และสำหรับการแก้ไขรหัสของคุณคุณสามารถใช้Gedit ที่มีอยู่แล้วค้นหาเฉพาะใน Dash
ตอนนี้ต่อไปนี้เป็นไวยากรณ์ในการรวบรวมไฟล์ต้นฉบับ C ของคุณเรียกใช้ต่อไปนี้ที่ไฟล์ของคุณคือ:
gcc MyProgram.c -o MyProgram
โดยที่สวิตช์-o
เป็นทางเลือก แต่มีการกล่าวถึงชื่อของไฟล์ไบนารีซึ่งควรสร้างจากแหล่งที่มาของคุณ
จากนั้นเรียกใช้./MyProgram
เพื่อเรียกใช้ไบนารีของคุณ
โปรดทราบว่าpthread.h
ตามค่าเริ่มต้นที่คุณกล่าวไว้ (POSIX Thread) โดย GCC ดังนั้นเพียงรวมไว้ในไฟล์ C ของคุณจะทำงานดังกล่าวในกรณีที่ไม่สามารถใช้งานได้การค้นหาโดย Google แบบง่ายจะช่วยได้ ;)
ปรับปรุง
หากมีข้อผิดพลาดมากกว่าที่คุณสามารถลองใช้คำสั่งเดียวกันโดยการเปลี่ยนพารามิเตอร์ตามที่ต้องการ
gcc -lpthread -o output_file program_pthread.c
หลังจากนั้น./output_file
ให้เอาต์พุตสำหรับโปรแกรมและนี่program_pthread.c
คือโปรแกรม pthread ที่คุณใช้
สำหรับโปรแกรม C ++:
g++ -std=c++11 Myprogram.cpp -o MyProgramTest -lpthread