Editor: nano editor
ตัวนี้ใช้งานง่ายหน่อย (แต่ก่อนชื่อโปรแกรม pico) มีเมนูอยู่ด้านล่าง วิธีใช้ก็คือ พิมพ์ nano แล้วตามด้วยชื่อไฟล์
- mkdir mywork
- cd mywork
- nano hello.c
คำอธิบาย:
- ctrl+o (บันทึกข้อมูล)
- ctrl+x (ออกจากโปรแกรม)
vi editor
ตัวนี้โดยส่วนตัวชอบใช้นะครับ มีประสิทธิภาพ สีสันสวยงาม มีการทำงานอยู่ 2 mode ด้วยกัน
- command mode - สำหรับรอรับคำสั่ง (กดปุ่ม esc เพื่อเข้า mode นี้)
- insert mode - สำหรับพิมพ์ (กดปุ่ม i เพื่อเข้า mode นี้ สังเกตที่ด้านล่างซ้ายจะมีคำว่า insert)
เริ่มต้นใช้งานด้วยการพิมพ์คำสั่ง vi ตามด้วยชื่อไฟล์ที่ต้องการสร้าง
- vi hello.c
- จากนั้นจะเข้าสู่ command mode (ไม่มีคำว่า insert ที่ด้านล่างซ้าย)
- เริ่มเขียนโปรแกรมด้วยการเข้าสู่ insert mode ด้วยการกดปุ่ม i จากนั้นก็เขียนโปรแกรมไปตามปกติ
- ทำการบันทึกข้อมูล เข้าสู่ command mode (กด esc คำว่า insert จะหายไป) และกด :wq (colon w q)
compiler: c compiler
- ใช้คำสั่ง gcc ตัวอย่างทดลอง compile โปรแกรม hello.c
- gcc hello.c (compile และ link ได้ผลลัพธ์ exe ไฟล์ a.out)
- ls -al
- ./a.out (รัน)
- rm ./a.out (ลบ)
- gcc -o hello hello.c (compile และ link ได้ผลลัพธ์ exe ไฟล์ hello)
- ls -al
- ./hello
- rm ./hello
- gcc -c hello.c (compile อย่างเดียว ผลลัพธ์ได้ obj ไฟล์ hello.o) รันไม่ได้นะจ๊ะ
- ls -al
- rm ./hello.o
c++ compiler
ทดลองเขียนโปรแกรม hello world ด้วยภาษา c++ (hello.cpp)
#include
using namespace std;
int main(int argc, char **argv) {
cout << "Hello, world." << endl;
return 0;
}
ทำการ compile ด้วยคำสั่ง g++ เหมือนกันกับ gcc
- g++ hello.cpp
- ./a.out
- g++ -o hello hello.cpp
- ./hello
- g++ -c hello.cpp
กรณีศึกษา
- มีเพื่อนสาวสามคน (jutamas, kamala, yardnapa) ทำงานด้วยกัน
- ทั้งสามคนต้องเขียนโปรแกรมคำนวณ (5 + 2) - 4
- Jutamas ได้รับมอบหมายให้เขียนฟังก์ชัน บวก
- Kamala ได้รับมอบหมายให้เขียนฟังก์ชัน ลบ
- Yardnapa ได้รับมอบหมายให้คำนวณค่าผลลัพธ์โดยใช้ฟังก์ชันจากเพื่อนสาวทั้งสอง
- ทั้งสามสาวมีข้อตกลงในเรื่อง รูปแบบฟังก์ชัน (input, return value) และกำหนดไว้ในไฟล์ชื่อ mywork.h ซึ่งมีเนื้อหาดังนี้
// mywork.h
int myadd(int, int);
int mysub(int, int);
- จากนั้นแต่ละคนแยกย้ายไปเขียนโปรแกรมกัน
- Jutamas เขียนโปรแกรมได้ดังนี้
// myadd.c
int myadd(int a, int b) {
return (a+b);
}
- Jutamas ทำการ compile โปรแกรมของตัวเอง และส่ง obj ไฟล์ให้ Yardnapa
- Kamala เขียนโปรแกรมได้ดังนี้
// mysub.c
int mysub(int a, int b) {
return (a-b);
}
- Kamala ทำการ compile โปรแกรมของตัวเอง และส่ง obj ไฟล์ให้ Yardnapa
gcc -c mysub.c
- Yardnapa เขียนโปรแกรมได้ดังนี้
// mywork.c
#include
#include "mywork.h"
int main(void) {
int result;
result = myadd(5, 2);
result = mysub(result, 4);
printf("%d\n", result);
return 0;
}
- Yardnapa ทำการ compile โปรแกรมที่ตัวเองเขียน (mywork.c) และ link กับ obj ไฟล์ที่เพื่อนสาวส่งให้ (myadd.o mysub.o)
gcc -o mywork mywork.c myadd.o mysub.o
- Yardnapa ทดลองรันโปรแกรมที่เขียนขึ้นว่าทำงานถูกต้องหรือไม่ โดยมี jutamas และ kamala ลุ้นอยู่ข้างหลัง
./mywork
3
- ทั้งสามสาว ถอนหายใจพร้อมกัน .... เฮ้อ .... จบแล้วจ้า
หวังว่าจะเป็นประโยชน์กับกลุ่ม เพื่อนๆพี่ๆ และ น้องๆ รวมทั้งเป็นพื้นฐานสำหรับการเขียนโปรแกรม เตรียมตัว ก่อนได้ใช้งานจริงนะจ๊ะ ^^
ไม่มีความคิดเห็น:
แสดงความคิดเห็น