Şimdi Ara

C++ yeni başladım bazı sorularım var

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
17
Cevap
0
Favori
1.321
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Selamlar. C++ dilini öğrenmeye yeni başladımda, aklıma birşey takıldı.

    Mağlum .net tabanı kullanılarak yazılan uygulamaların kaynak kodlarına rahatlıkla ulaşılabilinir.
    Herhangi bir koruma sistemi ile kodlarımızı şifreleyerek programınız koruyabiliriz fakat bu koruma işlemi amatörleri engelleyecek düzeyden öteye geçemiyor.

    Şimdi sorularıma gelecek olursak;

    1-Ben visual studio 2017 de CLR projesiyle yazsam uygulamayı gene bu sıkıntı olur mu?

    2- Qt, Vcl, Clr frameworkleri arasında hangisi bu konuda daha iyi?

    3- Framework kullanmadan sadece c++ kütüphanesini kullanarak form uygulaması tasarlamam çok mu uğraştırır beni kod yazarken?

    4- C++ ta kolayca form tasarlamak hemde kodların güvenliği sağlamak istiyorum anlayacağınız :)



  • .net tabanı kullanılarak yazılan uygulamaların kaynak kodlarına rahatlıkla ulaşılabildiğini biraz daha anlatır mısın? Merak ediyorum da.
  • Kod obfuscate edlmediyse telerik vs redgate gibi programlarla kod görünebilir bunun için obfuscate işlemi uygulanması gerekir ki kod görünse bile anlaşılması zor olsun

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Reverse engineering'den bahsediyorsan elde edecekleri sey duzensiz bir assembly kodu olur, okumasi zor olur, direk senin yazdigin C++ kodunu gormezler.

    < Bu ileti tablet sürüm kullanılarak atıldı >
  • @requizm @Gökşen PASLI@Yirikalische

    Hocam aslında o paragraf başka bir forumdaki adminin düşünceleri.Buda kafamı karıştırdı bende direk kopyala yapıştır yapıp buraya sormak istedim.

    Yani sadece çok üst düzey asm bilen adam mı çözer? ki öyleysede çok problem değil önüne her gelen direk erişemezse tamamdır benim için.

    Diğer sorularımada cevap verirseniz çok memnun olurum.Teşekkürler hepinize
  • C++ 'ı CLI platformunda kullanırsan yani .NET CLR 'a derlersen kaynak kodlara ulaşması daha kolay olur cunku derlendiğinde makina kodu değil byte-code şeklinde ara dile dönüştürülüyor ve onda da degisken adları dahi görünüyor (tahminen)

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • makine kodu değilde byte-code şeklinde dönüştürülecekse c++'ın ne anlamı kaldı ki o zaman. QT ve Vcl de demi durum aynı peki?
    Birde sorum saçma olabilir belki ama, makine koduna derlemek için hangi compiler kullanmam gerekiyor
  • NeverGonnaLeave kullanıcısına yanıt
    C++'ın CLI platformunda byte-code a dönüştürülmesi coklu platform açısından ayni C++ kodunu bir kere yazıp sonra CLI'nın (yani .NET veya mono veya portable net gibi) kurulu olduğu her platformda (yani Windows, macOS, Linux) çalışabilmesi için. Makina koduna dönüştürdüğünde sadece 1 platformda çalışır.



    C++ 'ı makina koduna derlemek için benim kullandığım secenekler



    1- VC++ 2010 Express (ücretsiz IDE)

    2- GNU C++ Compiler yani g++



    g++ ile derleme örneği (altta g++ derleme satırı görülüyor)



    C++ yeni başladım bazı sorularım var

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • NeverGonnaLeave kullanıcısına yanıt
    Bytecode üretildiği sürece programların kaynak kodlarına tam veya kısmen ulaşmak şifrelenmiş dahi olsa zor değildir. En azından şifrelemeyi yapan aracı programı yazanlar ulaşabilirler:)
    Doğrudan makine koduna dönüştürüldüğünde ise böyle bir şey imkansıza yakındır. Sadece ASM halindeki kod görünür ki oradan anlam çıkarmaya çalışmaktansa ilgili yazılımı baştan yazmaya başlamak daha kolaydır. Bu yüzden ciddi yazılımlarda eğer gizlilik söz konusu ise bu noktaya dikkat edilir ve uygun seçenekler tercih edilir.
    Framework kullanmadan sadece C++ kütüphanelerini kullanarak Form uygulaması tasarlamak mümkündür, eziyetlidir ve her işletim sistemi için de farklıdır.
    Cross-Platform C/C++ GUI desteği için temel olarak iki alternatif önerebilirim. Qt ve Gtk+
    Qt doğrudan C++, Gtk+ ise C kullanır ve yukarıdaki bahsi geçen konuda da endişelenmeye gerek kalmaz.
    Derleme için de farklı alternatifler mevcuttur. (https://www.thefreecountry.com/compilers/cpp.shtml)

    C++ yeni başladım bazı sorularım var


    C++ yeni başladım bazı sorularım var



    < Bu mesaj bu kişi tarafından değiştirildi graphmode -- 9 Ocak 2019; 17:53:13 >




  • @revivo72 ;

    peki hocam makine koduna çevrildiğinde sadece 1 platformda çalışmasının nedeni, cihazların işlemci komut setlerinin farklı olması mıdır?

    VC++ 2010 Express yerine VS 2017 enterprise kullanarak c++ empty project oluştursam derlerken oda mı byte code olarak derleyecek? 2010 express c++14 ve 17 desteklemiyor sanırım.aşağıda ki vs 2017 nin debug dosyaları
    C++ yeni başladım bazı sorularım var


    @graphmode

    Hocam qt yi inceleme fırsatım olmadı fakat içinde derleyicisi mevcut bir ide sanırım? syntaxı çok farklı mıdır peki?

    Hangi derleyicinin neye derlediğini nasıl anlarız? (Vcl,Vc,win32 gibi kavram görüyorum nedir bunlar tam anlayamadım)

    Hepinize çok teşekkür ediyorum sayenizde taşlar yerine oturdu biraz.



    < Bu mesaj bu kişi tarafından değiştirildi NeverGonnaLeave -- 9 Ocak 2019; 20:53:52 >




  • Hem o fakat sadece o değil. Aynı Intel işlemciye sahip olup farklı işletim sistemleri kurulmuş bilgisayarlar da farklı platformdur. Ve aynı işlemci ve aynı işletim sistemine sahip olsa bile programının çalışacağı ortam farklı ise örneğin Windows bilgisayarında MSYS2 (Mini Unix System) var ise onda çalışacak programları da MSYS2 platformuna göre derlemen gerekir, onun gibi. Bu durumu en iyi farklı platformlara göre uygulama yaparken anlabilirsin yani buradan anlatınca karışık görünebilir.


    VC++ 2010 Express benim tercihim cunku 2010'dan itibaren ücretsiz IDE'ler arasında en yüksek versiyondu ve Windows XP kurulu eski bilgisayarlarda dahi fazla disk ve RAM harcamadan kullanılabiliyor. C++11 veya C++14 gibi versiyonlar klasik C99 'dan cok farklı değil.
  • NeverGonnaLeave kullanıcısına yanıt
    VC++ (Visual C++).
    VCL yi (Visual Component Library) şimdilik bir kenara bırakalım. Biraz eskide kaldı ve ücretli RAD Studio ile geldiği için pek popüler değil.
    Win32; 32 bitlik uygulamalar için kullanılan Windows API kümesi. Konuyla doğrudan bir ilgisi bulunmuyor.
    Derleyiciler X86 (32 bitlik) ve X64 (64 bitlik) olarak mevcuttur. Artık X64 üzerinde ilerlenebilir.

    Qt çok kapsamlı bir framework tür. Standart C++ sınıfları rahatlıkla kullanılabilir. C++ Syntax aynıdır ve kendisine ait çok sayıda özel sınıf barındırır. "Q" ile başlarlar, örneğin "QVector", "QtMultimedia" gibi.

    Qt platformu için derleyici haricen eklenir. Varsayılan olarak kurulumda MinGW ile gelir. Ancak Windows üzerinde MS VC++ Compiler da kullanılabilir.
  • C++ ile UI geliştirmek istiyorsanız Qt state-of-art durumunda bir kütüphanedir. Başka kütüphanelere bulaşmayın bence.
  • Anisotropic kullanıcısına yanıt
    Yani ne demek bu hocam?
  • NeverGonnaLeave kullanıcısına yanıt
    Qt kullanışlı ve kaliteli bir framework'tür fakat her birşey için kullanılmaz. Yeri gelir GTK+, FLTK ve wxWidgets ile cok daha ufak ve hızlı GUI uygulama yapabilirsiniz. Sadece Windows'ta çalışacak ise MFC ile süper ufak ve hızlı GUI yapabilirsiniz. Qt temelde GUI framework olmasına ragmen GUI gerektirmeyen sunucu uygulamalarında bile kullanılıyor ki bu da attan cok jokey ile ilgili bir sorun.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • qt kullan
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.