C++ compiler extension in chrome
Hôm nay mình được nghỉ lễ, không biết làm gì nên học theo bác X (nào đó), kiếm cái nghịch để đốt thời gian, tiện thể học thêm cái mới.
Nghĩ chán chê thì thấy dạo này hay lượn lờ trên diễn đàn support code C++(mặc dù chuyên ngành của mình là ăn và ngủ). Rút kinh nghiệm mỗi lần thử code lại phải mở trang paiza.io hay ideone.com gì gì ấy để test, tốn rất nhiều công đoạn click, nên viết luôn cái extension này, chỉ copy paste và run là xong (viết xong mới thấy còn khổ hơn click).
Lúc viết xong mới nghĩ ra publish lên google store, cứ tưởng miễn phí, ngờ đâu anh gồ bắt xì ra $5 mới cho, nghĩ thấy anh gồ giàu sẵn rồi, thiếu gì $5 của mình, nên thôi không publish lên nữa
Extension mình viết bằng ReactJS là chính (có chút tạp nham jquery vì chưa quen xử lí toàn bộ thông qua React)
Demo extension:
UI:
Hello world thần thánh:
#Hướng dẫn cài:
Các bạn tải và giải nén:
https://github.com/HadesD/Chrome-Cpp-Complier/blob/master/release.zip
Mở chrome và truy cập:
chrome://extensions/
Tích vào ô Developer Mode -> Click nut Load unpacked extension… -> Chọn folder có chứa extension bạn vừa giải nén.
Vậy là xong.
GitHub project
https://github.com/HadesD/Chrome-Cpp-Complier
Làm sao làm được như vậy? Compiler này compile được những gì?
Chỉ là dùng tính năng có sẵn của những trang web cho compile code thôi chứ không có gì to tát cả
Tính năng chính thì là complie và test code C++, mặc dù có thể compile multi file và ngôn ngữ, cơ mà lười nên chỉ làm C++
Ở đây mình dùng thằng paiza.io
https://github.com/HadesD/Chrome-Cpp-Complier/blob/master/src/js/main.jsx
có gì đâu mà không có gì to tát. Chứ mấy ông lập trình ra mấy cái trang web cũng nhờ mấy ông đọc mã máy mà ra chứ có gì to tát đâu.
Em nghĩ là nên cho cookie hay gì đó để có thể lưu source code đang code dỡ. new default source thì nên là của chương trình Hello world. Cho người dùng tải source code về nữa hoặc kĩ càng hơn là giúp họ có mộn bản codepad online.
Nếu đợt nghỉ lễ tới mà rảnh nhất định sẽ thêm các tính năng này.
Google họ không cho lưu thông tin extension vào database của họ, lại phải dùng của bên thứ 3 nên hơi mất thời gian khoản này, lại lười nữa
nghiên cứu cái Stack Crooked ấy. GCC 7.1.0, có GMP, có Boost mới nhất luôn, có hỗ trợ multiple file nhưng mà phải đổi tên file
http://coliru.stacked-crooked.com/a/084011623191a688
C++17 + Boost + GMP
làm ra 1 cái js file để nhúng vô trang web đi
Mà nhìn UI nó xấu nhỉ
Có trang này do ông người nhật viết, thấy cũng ổn định, có tuỳ chọn options build, G++ 8.0.0, compile nhiều file 1 lần, nhiều ngôn ngữ, UI cũng ổn.
Có public project trên github nữa: https://github.com/melpon/wandbox
https://wandbox.org/
Test: https://wandbox.org/permlink/P3fDcpcIRWwzErdL
Tại hôm bữa hứng học React nên viết cái ext luôn
Có lẽ chuyển qua viết 1 file js nhanh hơn
trang này quá ngon.
20 chả