Bỏ qua, tới nội dung chính
Cà Phê & Code Cà Phê & Code
  • Trang chủ
  • Chuyên mục
    • Backend
    • Bảo mật
    • Bảo mật ứng dụng web
    • Cơ sở dữ liệu
    • DevOps
    • Docker
    • Go
    • Hệ điều hành
    • Java
    • Linux
    • Mang
    • Mạng
    • Message Queue
    • RabbitMQ
    • Spring
    • Trình biên dịch
    • Vert.x

    • Tất cả chuyên mục
  • Sê-ri
  • Thẻ
  • Luyện thi
  • Ghi chú
  • Giới thiệu
  • Liên hệ
Đăng nhập
  1. Trang chủ
  2. Thẻ
  3. trinh-bien-dich

#trinh-bien-dich

3 bài viết
Trình biên dịch 03/09/2026 7 phút

Bốn giai đoạn dịch

Một lệnh gcc chạy qua bốn bước: tiền xử lý, biên dịch, hợp dịch, liên kết. Đo từng bước, và đọc assembly mới thấy trình dịch lặng lẽ đổi printf thành puts. Đo thật trong container.

#zero-to-hero#trinh-bien-dich#do-dac
2
Trình biên dịch 03/09/2026 7 phút

Tiền xử lý macro

Macro trông như hàm nhưng chỉ là dán văn bản: SQ(i++) khiến i tăng hai lần, SQ_BAD(1+2) ra 5 chứ không phải 9. Và một #include kéo theo 37 file. Đo thật bằng gcc -E.

#zero-to-hero#trinh-bien-dich#do-dac
1
Trình biên dịch 03/09/2026 7 phút

Chống include lặp

Include guard chống được include lặp, nhưng nó khóa theo TÊN macro chứ không theo file — hai header trùng tên guard làm một cái biến mất im lặng. Đo thật bằng gcc -E.

#zero-to-hero#trinh-bien-dich#do-dac
1
Tìm kiếm
Admin

Nhấp một ngụm cà phê, viết thêm một dòng code

Xem thêm
Chuyên mục
  • DevOps 102
  • Java 100
  • Docker 68
  • Cơ sở dữ liệu 60
  • Go 60
  • Spring 60
  • Linux 54
  • Vert.x 50
  • Mạng 45
  • Hệ điều hành 45
  • Message Queue 40
  • Backend 40
  • RabbitMQ 40
  • Bảo mật 39
  • Trình biên dịch 3
  • Bảo mật ứng dụng web 1
Xem nhiều nhất
Danh sách kiểm trước khi lên sản xuất 10/08/2026 · 80
Kiểm thử mã đồng thời 05/08/2026 · 75
Đóng gói ứng dụng Java vào Docker 06/08/2026 · 58
Biến, kiểu nguyên thuỷ và kiểu tham chiếu 05/05/2026 · 44
Từ mã nguồn tới lúc chạy 04/05/2026 · 44
Thẻ phổ biến
#zero-to-hero#hieu-nang#devops#java#100-ngay-java#do-dac#docker#bao-mat#container#csdl#docker-compose#spring#postgresql#sql#go#golang#kubernetes#linux#vertx#he-dieu-hanh#mang#giam-sat#quan-sat#kafka#message-queue#redis#rabbitmq#web#dong-thoi#van-hanh#microservice#reactive#kien-truc#collections#do-tin-cay#thiet-ke#jvm#spring-boot#jpa#stream#spring-security#test#oop#event-bus#jmh#tong-ket#amqp#exchange#http#luong-ao#spring-amqp#bat-dong-bo#bo-nho#cong-cu#error#functional#go-loi#interface#io#logging#network#routing#spring-mvc#bytecode#consumer#generics#json#trien-khai#bat-bien#build#cache#context#dlx#event-loop#exception#gc#jackson#jdbc#lambda#lo-trinh#maven#monitoring#retry#testcontainers#tracing#trinh-bien-dich#vertx-web#bat-dau#channel#cluster#collectors#future#giao-dich#ha#hikaricp#java-time#jdk#jfr#junit#jwt#luu-tru#module#optional#owasp#pattern-matching#phan-quyen#queue#quorum-queue#record#rest#sealed#timeout#timezone#tls#transaction#unicode#websocket#ack#actuator#async#at-least-once#atomic#autoboxing#backpressure#bigdecimal#blockingqueue#cas#cau-hinh#chung-chi#circuit-breaker#classloader#classpath#codec#comparator#completablefuture#concurrenthashmap#config#constructor#cors#criteria#csp#csrf#da-hinh#database#deadlock#default-method#deque#dieu-khien#do-luong#do-tre#dto#encapsulation#encoding#equals#error-handling#etcd#executor#fanout#federation#flaky#flatmap#flyway#forkjoin#gitops#graalvm#gradle#hashcode#hashmap#hazelcast#headers#helm#hibernate#https#idempotency#inner-class#iterator#javac#javap#jit#jlink#jmm#jstack#ke-thua#khoa#kieu-du-lieu#lazy-queue#list#management#map#mat-khau#memcached#memory-leak#message#method#mockito#native-image#nio#oauth2#observability#oidc#openssl#outbox#package#pecs#phan-trang#phu-thuoc#poison-message#pprof#prefetch#producer#prometheus#promise#publisher-confirms#pubsub#qos#redelivery#regex#resource#restclient#router#sap-xep#scheduled#sdkman#serialization#service-discovery#servlet#set#shovel#slf4j#slice#sockjs#solid#spring-data#sse#streaming#string#struct#structured-concurrency#su-kien#switch#synchronized#testing#thiet-ke-api#thread#threadlocal#thread-pool#thymeleaf#time#toan-tu#topic#topology#treemap#ttl#tuning#type-erasure#upload#validation#varargs#verticle#vhost#volatile#web-client#webclient#worker
Lưu trữ
  • Tháng 9/2026 280
  • Tháng 8/2026 197
  • Tháng 7/2026 114
  • Tháng 6/2026 64
  • Tháng 5/2026 30
  • Tháng 11/2025 4
  • Tháng 10/2025 27
  • Tháng 9/2025 30
  • Tháng 8/2025 31
  • Tháng 7/2025 30
Theo dõi blog

Nhận email mỗi khi có bài viết mới. Không quảng cáo, huỷ bất cứ lúc nào.

Hoặc dùng RSS
Cà Phê & Code Cà Phê & Code

Cà Phê & Code là blog dành cho những người yêu công nghệ và lập trình. Nơi chia sẻ kiến thức coding, công cụ hữu ích, xu hướng công nghệ, kinh nghiệm phát triển phần mềm và những câu chuyện phía sau màn hình — tất cả được kể theo cách gần gũi, dễ hiểu, như một cuộc trò chuyện bên tách cà phê.

Liên kết
  • Trang chủ
  • Chuyên mục
  • Thẻ
  • Giới thiệu
  • Liên hệ
Chuyên mục nổi bật
DevOps (102)Java (100)Docker (68)Cơ sở dữ liệu (60)Go (60)Spring (60)Linux (54)Vert.x (50)Mạng (45)Hệ điều hành (45)Message Queue (40)Backend (40)RabbitMQ (40)Bảo mật (39)Trình biên dịch (3)Bảo mật ứng dụng web (1)

© 2026 Cà Phê & Code. Bảo lưu mọi quyền.