Chủ Nhật, 2 tháng 8, 2020

Lập trình C++ Basic | #2. Tổng quan về lập trình C++

CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH C++

Do your c, c plus plus or c sharp assignments by Rajarjs
1.1 Giới thiệu về ngôn ngữ C++

1.1.1 Nguồn gốc

Ngôn ngữ C++ được Giáo sư Bjarne Stroustrup phát triển từ ngôn ngữ C từ cuối thập niên 1970.

Professor Bjarne Stroustrup – Churchill College

C++ là một phiên bản mở rộng của ngôn ngữ C, kết hợp tất cả các tính năng đã có của C.

C++ được coi như là ngôn ngữ bậc trung (middle-level), kết hợp các đặc điểm và tính năng của ngôn ngữ bậc cao và bậc thấp.

C++ có thể dùng để lập trình nhúng, lập trình hệ thống cho khả năng thực thi nhanh.

C++ là ngôn ngữ "đa hướng". Nghĩa là nó hướng cấu trúc giống C và có thêm một tính năng cực kỳ quan trọng đó là tính năng hướng đối tượng.

C++ là một trong những ngôn ngữ lập trình phổ biết thuộc top 10 trên thế giới.
Nguồn: StackOverflow Developer Survey, 2019

b. Tại sao nên học ngôn ngữ C++

Học lập trình C / C++ để nắm vững các ngôn ngữ lập trình nâng cao khác nhanh hơn

Hầu như tất cả các ngôn ngữ lập trình hiện đại và thư viện phổ biến khác đều được xây dựng bởi C / C ++. Dưới đây là một số ví dụ điển hình:
  • Java: Lõi của điểm nóng Máy ảo Java được triển khai trong C ++.
  • Python: Trình thông dịch Python được triển khai trong C.
  • Javascript: Công cụ Javascript phổ biến nhất V8 được triển khai trong C ++.
  • Numpy: Một trong những thư viện khoa học phổ biến nhất trong Python và nó được sử dụng rộng rãi trong AI và ML, nhưng module cốt lõi của nó được triển khai trong C.

C++ là ngôn ngữ mạnh và hiệu quả

Bởi vì khả năng của C++ mà nó được sử dụng để xây dựng nên rất nhiều sản phẩm phần mềm đồ sộ như:

Operating Systems: C++ là một phần không thể thiếu của rất nhiều hệ điều hành phổ biến hiện nay như Mac OS, Microsoft Window…
Windows C++Mac OS C++
Database: Mysql được viết bởi C và C++
Mysql C++


Graphics: C++ được dùng để tạo ra các phần mềm đồ họa đình đám như Image Ready, Adobe Premiere, Photoshop, Illustrator, … Xử lý tính toán đồ họa 3D trong Maya 3D…

Premiere C++Photoshop C++illustrator C++

Games: C++ được dùng để tạo ra rất nhiều game nổi tiếng trên thế giới như World of Warcraft, Diablo series, StarCraft series, Doom 3, Team Fortress 2… Và tất nhiên cũng có rất nhiều engine game sử dụng C++ để phát triển như Unreal Engine, Coscos2dx framework…
Game C++
Trình duyệt web: Chrome, Firefox, v.v. cũng được xây dựng từ C++

ProBeat: Google Chrome and Mozilla Firefox are bringing back the ...


C++ là một ngôn ngữ hiệu quả để xây dựng các hệ thống nhúng, hệ thống điện tử tích hợp phần mềm

C là ngôn ngữ thực tế khi nói đến kỹ thuật hệ thống nhúng. Chủ yếu là do hiệu suất cao của ngôn ngữ C và dễ sử dụng. Ngôn ngữ C tiêu tốn rất ít tài nguyên bộ nhớ khiến chương trình chạy nhanh. Kết quả là, bạn có thể mong đợi các hệ thống nhúng hoạt động trong thời gian thực mà không cần chi phí hoạt động.

Hơn nữa, vì ngôn ngữ C có tính di động cao, nó không bị ràng buộc với bất kỳ bộ vi xử lý cụ thể hoặc một hệ thống. Vì vậy, bạn có thể biên dịch một chương trình nhúng trên các thiết bị và nền tảng khác nhau với ít hoặc không có thay đổi nào cả.

Đó là lý do tại sao xe hơi tự động, smartwatch, cảm biến IoT và các thiết bị như máy pha cà phê có phần xương sống được viết bằng C hoặc C ++. Trong các hệ thống được kết nối, C cho phép bạn làm việc trực tiếp với tài nguyên bộ nhớ và điều chỉnh mọi phần của code.

IoT Applications | Internet Of Things Examples | Real World IoT ...

1.1.2. Quy trình phát triển phần mềm hệ thống nhúng

a. Phần mềm hệ thống nhúng 

Phần mềm hệ thông nhúng được định nghĩa là một chương trình được viết, biên dịch trên máy tính và nạp vào một hệ thống khác (gọi tắt là KIT) bao gồm một hoặc nhiều bộ vi xử lý đã được cài sẵn một hệ điều hành hoặc bộ vi điều khiển , bộ nhớ ghi chép được, các cổng giao tiếp với các phần cứng khác.

Hiện nay phần lớn các phần mềm nhúng nằm trong các sản phẩm truyền thông và các sản phẩm điện tử tiêu dùng (consumer electronics), tiếp đến là trong các sản phẩm ô tô, phương tiện vận chuyển, máy móc thiết bị y tế, các thiết bị năng lượng, các thiết bị cảnh báo bảo vệ và các sản phẩm đo và điều khiển. Để có thể tồn tại và phát triển, các sản phẩm công nghiệp và tiêu dùng cần phải thường xuyên đổi mới và ngày càng có nhiều chức năng tiện dụng và thông minh hơn. Các chức năng này phần lớn do các chương trình nhúng tạo nên. Phần mềm nhúng là một lĩnh vực công nghệ then chốt cho sự phát triển kinh tế của nhiều quốc gia trên thế giới như Nhật Bản, Hàn Quốc, Phần Lan và Trung quốc. Tại Mỹ có nhiều chương trình hỗ trợ của Nhà nước để phát triển các hệ thống và phần mềm nhúng. Hàn Quốc có những dự án lớn nhằm phát triển công nghệ phần mềm nhúng như các thiết bị gia dụng nối mạng Internet, hệ thống phần mềm nhúng cho phát triển thành phố thông minh, dự án phát triển ngành công nghiệp phần mềm nhúng, trung tâm hỗ trợ các ngành công nghiệp hậu PC... Thụy Điển coi phát triển các hệ nhúng có tầm quan trọng chiến lược cho sự phát triển của đất nước. Phần Lan có những chính sách quốc gia tích cực cho nghiên cứu phát triển các hệ nhúng đặc biệt là các phần mềm nhúng.

Trong quá trình phát triển phần mềm nhúng, ngoài việc tuân thủ một số thao tác nhất định trong quy trình phát triển phần mềm nói chung thì do những đặc điểm riêng mà thao tác lập trình của phần mềm nhúng được gọi là Build Process được biểu diễn như sau:



b. Trình biên dịch (compiler)

Máy tính chỉ có thể hiểu một ngôn ngữ duy nhất là tập hợp của các chỉ lệnh được tạo thành từ 2 chữ số 0 và 1. Ngôn ngữ này được gọi là NGÔN NGỮ MÁY - MACHINE LANGUAGE. Một chỉ lệnh của máy tính thường được biểu diễn như sau:

0000010011110

Nhiệm vụ của trình biên dịch là chuyển đổi chương trình được viết bằng ngôn ngữ thân thiện với con người (human-readable language) ví dụ như C, C++,… thành tập mã lệnh tương đương có thể đọc và hiểu bởi bộ vi xử lý đích.

Đây là ngôn ngữ lập trình C++ do lập trình viên thực hiện:

int a, b, sum;
     
cin >> a;
cin >> b;
             
sum = a + b;
cout << sum << endl;

Đây là mã máy sau khi được compiler chuyển đổi từ các mã lệnh do người lập trình viết:

0000010011110
0000111110100
0001010011110
0001111010100
0010010111111
0010100000000

c. Trình nạp (loader)

Đối với các chương trình dùng để thực thi trên máy tính Windows thì mã nguồn sẽ được biên dịch thành dạng file .exe.

Để nạp chương trình xuống các thiết bị phần cứng chuyên dụng thì mã nguồn phải được biên dịch thành dạng file .hex hoặc .bin.



1.1.3. Cài đặt môi trường phát triển (IDE) Visual Studio 2019

IDE (Integrated Development Environment) là môi trường tích hợp dùng để viết code để phát triển ứng dụng. Ngoài ra IDE tích hợp các tool hỗ trợ khác như trình biên dịch (Compiler), trình thông dịch (Interpreter), kiểm tra lỗi (Debugger), định dạng hoặc highlight code, tổ chức thư mục code, tìm kiếm code…

Ở đây chúng ta sẽ thực hành tải và cài đặt IDE Visual Studio 2019. Bộ IDE này có 3 phiên bản chính được tích hợp những tính năng khác nhau như sau:


Về cơ bản như chúng ta thấy ở hình trên thì với người dùng thông thường có thể tải và cài đặt phiên bản Community là đủ để học tập. Tiến trình cài đặt như sau:

a. Kiểm tra cấu hình máy tính

Trước khi cài đặt Visual Studio 2019 để đảm bảo máy tính có đủ khả năng hoạt động với IDE này.



b. Tải về Visual Studio theo link sau: download

c. Các bước cài đặt

Từ thư mục download hoặc nơi chứa file tải về, chạy file vs_community.exe để bắt đầu tiến trình cài đặt.

License Terms and Privacy Statement

Visual Studio 2019: Install a workload

Visual Studio 2019 - Install individual components

Visual Studio 2019 - Install language packs

Visual Studio 2019 - Select installation locations

Sau khi bấm install, quá trình cài đặt sẽ diễn ra trong vài phút tùy vào độ mạnh yếu của máy tính. Như vậy bạn đã hoàn thành việc cài đặt Visual Studio 2019 để bắt đầu học lập trình C++. Mời các bạn tiếp tục theo dõi ở những bài sau.




Không có nhận xét nào:

Đăng nhận xét

Bài tập chuỗi trong C++

  Bài tập chuỗi trong C++   (7) 668 lượt xem Chuỗi (String) trong C/C++ là một mảng ký tự được kết thúc bởi \0 (ký tự null). Dưới đây là các...