Arka plan / Senaryo
Tamamen C'de bir CLI uygulaması yazmaya başladım ("Merhaba Dünya" ya da bunların bir varyasyonu olmayan ilk uygun C veya C ++ programım). Çevresinde ben kullanıcı girişi (char dizileri) "dizeleri" ile çalışıyordu ve C ++ dize flama nesnesi keşfetti. Bunları kullanarak kod kaydedebilirsiniz gördüm, bu yüzden onları uygulama aracılığıyla kullandım. Bu, dosya uzantısını .cpp olarak değiştirdiğim ve şimdi uygulamayı g++
bunun yerine derlediğim anlamına gelir gcc
. Buna dayanarak, uygulamanın şimdi teknik olarak bir C ++ uygulaması olduğunu söyleyebilirim (kodun% 90'ı + C olarak adlandırdığım şeyde yazılır, ancak sınırlı deneyimim verildiğinde iki dil arasında çok fazla geçiş olduğu için iki). 900 satır uzunluğunda tek bir .cpp dosyasıdır.
Önemli Faktörler
Programın ücretsiz (paradaki gibi) olmasını ve herkesin sahip olması için serbestçe dağıtılabilir ve kullanılabilir olmasını istiyorum. Benim endişem birisi koduna bakacak ve etkisi için bir şeyler düşünecek olmasıdır:
Oh, kodlamaya bak, korkunç, bu program bana yardımcı olamaz
Ne zaman potansiyel olabilir! Başka bir konu kodun verimli olmasıdır (Ethernet bağlantısını test etmek için bir programdır). Kodun, uygulamanın performansını veya çıktısını ciddi şekilde engelleyebilecek kadar verimsiz olan hiçbir parçası olmamalıdır. Ancak, bunun belirli işlevler, yöntemler, nesne çağrıları, vb. İle ilgili yardım isterken Stack Overflow için bir soru olduğunu düşünüyorum.
Benim sorum
(Bence) karışık C ve C ++ olması belki de olmamalı. Hepsini C ++ ile yeniden yazmak için bakmalıyım (bununla birlikte, daha yeni C ++ teknikleri kullanılarak yoğunlaştırılabilecek bir C tarzında bir şey kodladığım daha fazla C ++ nesnesi ve yöntemi uygulamak veya dize flama nesnelerinin kullanımını kaldırmak anlamına gelir ve hepsini "geri" C koduna getirmek? Burada doğru bir yaklaşım var mı? Ben kayboldum ve kitlelerin gözünde bu uygulama "İyi" tutmak için bazı rehberlik gerekir, bu yüzden onu kullanacak ve bundan yararlanacaklar.
Kod - Güncelleme
İşte koda bir bağlantı. Yaklaşık% 40 yorum, daha akıcı hissedene kadar neredeyse her satırı yorumluyorum. Bağlantı kurduğum kopyada, hemen hemen tüm yorumları kaldırdım. Umarım bu okumayı zorlaştırmaz. Yine de hiç kimsenin tam olarak anlaması gerekmediğini umuyorum. Eğer ölümcül tasarım kusurları yapmışsam, kolayca tanımlanabilmelerini umuyorum. Ayrıca bahsetmeliyim, birkaç Ubuntu masaüstü ve dizüstü bilgisayar yazıyorum. Kodu diğer işletim sistemlerine taşımak istemiyorum.
LICENSE
dosya yok. İlginç geri bildirimler alabilirsiniz.