C++ kodunu C koduna çevirme

toomanynights

Kilopat
Katılım
13 Mart 2016
Mesajlar
3.901
Makaleler
5
Çözümler
17
Selam, C++ ile yazılmış uzun bir kodum var. C'ye dönüştürmek istiyorum. Mümkün müdür?
Tüm dizi isimlerini vs. C'ye uygun şekile döndürülmesi lazım. Bunu yapan bir site veya yapay zeka var mıdır? Yoksa tek tek uğraşmam mı gerekiyor?
 
İsmini hatırlayamadığım daha profesyonel siteler var ama ChatGPT şahsen benim yazdığım kodları değiştirmiyor. Kodun çalışmasını değiştirmemesini söyleyerek tekrar deneyin. Bu yapay zekalar sonuçta insan gibi algılamıyor biraz naz yapabiliyor.
 
CPP için özel bir kütüphane kullanmadıysan tam uyumlu olması lazım, basit bir kaç syntax hariç. Kütüphane kullandıysan ya onları da çevireceksin ya da varsa C karşılığını bulacaksın.
 
C++ kodu OpenGL ile yapılmış basit bir oyun. OpenGL kodları C ile aynı. Fakat oluşturduğum dizileri vs. hepsini C'ye göre tekrar oluşturmam, bazılarını önceden tanıtmam falan gerekiyor. Zaten kodu hiç değiştirmeden C'miş gibi çalıştırınca sadece sytaxlarda hata veriyor. @Tahir Keskin Hocam bu site sadece 42 satıra kadar çeviriyor. @Dynamics Hayır hocam C++'a özgü sytaxlar harici bir şey yok. Neredeyse tüm fonksiyonlar OpenGL ve Glut fonksiyonları. Onların kullanım şekli de C'de de aynı.
 
C++ kodu OpenGL ile yapılmış basit bir oyun. OpenGL kodları C ile aynı. Fakat oluşturduğum dizileri vs. hepsini C'ye göre tekrar oluşturmam, bazılarını önceden tanıtmam falan gerekiyor. Zaten kodu hiç değiştirmeden C'miş gibi çalıştırınca sadece sytaxlarda hata veriyor. @Tahir Keskin Hocam bu site sadece 42 satıra kadar çeviriyor. @Dynamics Hayır hocam C++'a özgü sytaxlar harici bir şey yok. Neredeyse tüm fonksiyonlar OpenGL ve Glut fonksiyonları. Onların kullanım şekli de C'de de aynı.

Merhaba,

O halde Clang veya LLVM kullanmayı deneyebilirsiniz. Bu bağlantıda doğrudan LLVM ile nasıl yapabileceğiniz yazıyor.

Clang ile LLVM denemek isterseniz de;

Kod:
clang -c CPPtoC.cpp -o CPPtoC.bc -emit-llvm
clang -march=c  CPPtoC.bc -o CPPtoC.c

Siz gene de iki seçeneği de ayrı ayrı deneyebilirsiniz.

Kolaylıklar.
 

Yeni konular

Geri
Yukarı