Program kodları yazılmıştır. Program kodu. Kötü amaçlı yazılım kodu

Programın, örneğin, üzerine reçete edilen eylemleri gerçekleştirmesi için, örneğin, kullanıcı işlemlerine tepki vererek, örneğin düğmelere basmak için, gerekli satırları seçmek için, program kodu.

Program kodu - Bu bir programlama kelime ve semboller kümesidir.

Alfabe - Bu, onlardaki verileri ve eylemleri belirtmek için dilde benimsenen tam bir harf, sayı ve sembol setidir.

Visual Basic Alfabe, aşağıdaki karakter kümesini etkinleştirir.:

Latin alfabesinin sermayesi (A - Z) ve küçük harf (A - Z) harfleri;

0'dan 9'a kadar olan sayılar;

Aritmetik işlemlerin belirtileri (artan önceliğin sırasına göre): +, -, *, /, |, ^;

İlişki İşaretleri: \u003d,<, >.

Noktalama işaretleri ve bölücüler :,  . : ; ();

Alfabe Dili ayrıca ayrılmışolarak kullanılamayan kelimeler İsimler değişkenler veya prosedürler. Ayrılmış kelimelerin örnekleri: loş, alt, tamsayı vb. Varsayılan olarak, anahtar kelimeleri Visual Basic kod düzenleme penceresinde vurgulamak için, mavi bir yazı tipi kullanılır.

Kelimeler ve semboller, yazım ve noktalama hataları olmadan dilin kurallarına göre kesinlikle kaydedilmelidir. Bilgisayarın programı açıkça anlamasını ve yürütmesine izin verecek kesin bir yazıdır.

Yazılım kodu penceresi

Program kodu kod penceresinde yazılmıştır. Bu pencere her formda mevcuttur.

Kod penceresini açın:

1 yol - pencerede Explorer Projesi İstediğiniz formu sağ tıklayın ve Menü Seç seçeneğini seçin Kodu göster.

Not: Kod penceresi formla ilişkili olmayabilir. Ayrı bir kod penceresi denir Modül . Proje Explorer penceresindeki modüller bir gruba göre gruplandırılmıştır. Modüller. Pencereyi modülün koduyla açmak için pencerede ihtiyacınız var Explorer Projesi Modül adına çift tıklayın.

2 yol - Formdaki veya form penceresindeki formdaki kontrole çift tıklayın.

Not: Aynı zamanda, kod penceresi açılır, ancak bir olay işleme prosedürü oluşturur (aşağıya bakınız).

Kod penceresi yapısı:

İncir. 7. Yazılım kodu penceresi.

    Kontrol Öğeleri Listesi

    Olay Öğeleri Listesi

    Prosedür (kod)

Prosedürler

Bir buzdolabı açarken, lamba yanar ve vinç açıldığında, su akıyor, bir olay meydana geldiğinde, buzdolabının açılması gerçekleştirildiğinde, bir prosedür yapılır ve vinç açma olayı neden olur. başka bir prosedür. Benzer şekilde, program kodu, her biri bunun için tanımlanan belirli bir işlemini gerçekleştiren bireysel prosedürlerden oluşur, örneğin bir prosedür lamba yanar, diğeri (pompalama) suyu içerir.

Visual Basic - prosedürel programlama dili. Bu, program kodunun blokları oluşturmanın mümkün olduğu anlamına gelir; bu, daha sonra adla referans alınabilir. Kod bloğu bir isim aldıktan sonra, olabilir neden oldu ve tamamlandı. Programdaki bir programa benziyor. Küçük programlar, büyük programlarda "yaşayan" denir eğer işlevler Herhangi bir anlamı döndürürler ve alt programlar Değerleri döndürmezlerse.

SubProgramlar ve fonksiyonlar Programlama işlemini daha kolay ve hızlı hale getirir ve oluşturulan kod daha güvenilirdir. Kendi alt yordamlarınızı ve işlevlerinizi oluşturma - gelişimin ilk adımı kapsüllenmiş ve yeniden kullanılmış kod. Kapsülleme altında, dış arayüzünün arkasındaki özelliklerin ve nesne yöntemlerinin uygulanmasının uygulanmasının kullanılmasını anlamak gerekir.

Prosedür (Subprogramme), küçük bir görevin genellikle çözüldüğü, bu, tüm programın bölündüğü küçük bir program birimi olan mantıksal olarak oluşturulmuş olan program kodunun ayrı bir parçasıdır.

Prosedür yalnızca bu program bloğu içinde yapılabilirse (örneğin, yalnızca bu formda) ve başka bir yazılım bloğundan çağrılamazsa, bu prosedür yereldir. Yerel prosedür özel alt anahtar kelime kullanılarak ayarlanır.

Prosedür diğer yazılım bloklarından çağrılabilirse (örneğin, başka bir formdan), bu prosedür küreseldir. Genel prosedür, genel alt anahtar kelime kullanılarak ayarlanır.

Varsayılan olarak, eğer anahtar kelime eksikse, bu küresel prosedür eksik.

Prosedürler:

    Olay İşleme Prosedürleri. Bir olay herhangi bir kontrol elemanında (veya form) gerçekleştiğinde gerçekleştirilir. Olay prosedürü her zaman bir nesneyle ilişkilendirilir. Bir olay nesnesi prosedürünü çağırmak için, bu nesneye iki kez sol tıklamayı yapmak yeterlidir.

    Keyfi prosedürler. Olaylarla ilgili değildir ve herhangi bir işlemden kaynaklanabilir ve herhangi bir zamanda gerçekleştirilebilir. Tüm formlardaki program aynı program biriminde gerçekleşirse, yalnızca bir kez ve bir yerde, genel bir ortak program şeklinde yazılabilir. Ortak programın lansmanı, nesne ile ve etkinlikle ilgili değildir ve diğer yazılım bloklarından adlandırıldığında oluşur. Aynı şekilde ortak bir prosedürü arayın: Nameprocessor (Liste parametreleri). Başka bir formdan yaygın bir işlemi arayın: BİR OBJE. Nameprocessor (Liste parametreleri). Genel prosedür yerel özel ve küresel halktır.

İşlemin yapısı

Prosedür aşağıdaki öğelerden oluşur:

    Tedavi başlığı - İşlemin başlangıcını, türünü, amacı (olay) notları.

Komut1 adlı düğmeye tıkladığınızda gerçekleştirilen bir prosedür başlığının örneği.

    Kelime Özel Araçlar - kapalı, yani prosedür sadece bu form veya modüle aittir ve diğer kaplar tarafından kullanılamaz (formlar, modüller). Bu kelime ihmal edilirse, prosedür diğer kaplara açık olacaktır.

    Alt. - prosedür.

Not: Prosedürlere ek olarak, fonksiyonlar var. İşlevler olaylarla ilişkili değildir ve ayrıca işlerinin sonucunu (hesaplamalar) iade edebilir.

    Kontrol (veya form adı): Bu, mülkte depolanan öğenin tam adını gösterir. İsim.

    Etkinlik - Etkinlik adı. İşte bazı etkinlikler:

    Tıklama, farenin bir tıklamasıdır;

    DBLClick - Çift tıklatma fare;

    Keypress - KeyStroke;

    Boşaltma - formun boşaltılması (formu kapatırken, programın tamamlanması);

    Etkinleştir - formun etkinleştirilmesi (başlığının vurgulandığında forma tıkladığınızda);

    Formun devre dışı bırakılması - (farklı bir formda tıklandığında).

    Başlat - bir nesne türü formu oluştururken.

    Yeniden boyutlandır - formun boyutunu değiştirirken

    Formun çıkarılması sırasında sonlandırın -

    Argümanlar- Bunlar, işleme prosedürüne iletilen kaynak verilerdir.

Keyfi prosedürlerde, başlık aşağıdaki gibidir:

İşlemin adı Olmalıdır benzersizMektubu ile başlamalı, alt çizgi dışında boşluklar ve diğer işaretler içermemelidir. İsim olarak, prosedürün yerine getirilmesi gerektiğinde çağrılır.

    Prosedürün sonu - Prosedürün program kodunu bitirir: Son alt

Not: İşlevler: Son işlevi

    Prosedürün gövdesi - Bunlar başlık ve son arasındaki çizgilerdir. Onların numarası sınırsızdır. Satırlar, bir prosedür çağırırken yapılması gereken reçeteler içerir (olay meydana gelir).

Altrogram (Alt.) - Program kodunu bloğu içinde yürüten ve değerleri döndürmeyen bir prosedürdür. Basit bir alt programın sözdizimi:

( Özel | halka açık ) Alt. Subtin. ()

.. kodları güçlendirmek Son. Alt.

Alt yordam kapsamı;

Alt tip prosedürü (yani - alt yordam);

subtin. Alt yordamaya atanan isim;

Program kodu bloğunun alt kodunu sonlandırın.

Bir prosedür oluşturma

Bir prosedür oluşturmak için aşağıdakileri yapın:

    1 yol - İstediğiniz kontrol veya formu çift tıklayın. Kod penceresi açılır ve prosedürün başlığı ve sonlandırılması görünecektir. Başka bir olay gerekliyse, kod penceresinin sağ üst köşesindeki liste kullanılarak seçilir.

    2 yol - Kod penceresini açın, Araçlar'ı çalıştırın → Prosedür ekle → Prosedürün adını ve parametrelerini belirtin → Tamam.

    3 yollu - Kod penceresini açın ve istenen satırları klavyedeki girin.

Sonuç olarak, çıkmalı:

Özel alt komut1_click ()

Yürütme için meydan okuma prosedürleri

    Bir olay işleme prosedürünü yürütmek için bu olay gerçekleşmelidir.

    Vücutta keyfi bir prosedür gerçekleştirmek için, başka bir prosedür bu prosedürün adını gösterir.

Özel alt komut1_click ()

Burada, Command1 düğmesine tıkladığınızda, tıklama olayı meydana gelir (fareye tıklayın) ve KVADRAT prosedürü denir.

Prosedür kodu, satır ve yukarıdan aşağıya doğru yürütülür.

İşlevi (İşlevi.) - Bu, kodunun satırlarını gerçekleştiren ve hafif bir değer döndüren bir prosedürdür. Basit fonksiyonun sözdizimi aşağıdaki gibidir:

İşlevi. FunctionName () DataType olarak

... tellerkoda

FunctionName \u003d iade vals.Son işlevi.

Fonksiyonun kapsamı;

İşlev - Visual Basic Anahtar Kelimenin bunun işlev olduğunu gösteren;

Fonksiyon adı. () - Atanan adlar işlevler;

AS - Anahtar Kelime Visual Basic, Tahmini Veri Türü Ataması;

Veri tipi Verilerin Türü Döndürülen Değer;

Geri dönüş değeri. İşlevin atanması gereken değer (bu çok önemli bir nokta!);

Son işlevi - bu kod bloğunun sonucu.

Bu teorik programlama temellerine adanmış bir tanıtım parçasıdır. Okuyucu, kendisini tanıdık ve ardından pratikte programlamaya devam edebilir (bu maddenin başlangıcındaki ve sonunda referanslar), hemen pratik alıştırmalara hitap edebilir ve yazılım geliştirme teorisi ile tanışmaya devam edebilir, seçerek Yukarıdaki listeden ilgilendiğiniz sorular. Bu makaleye gelince, burada ana bölümleri:

İpucu: Daha fazla malzemeyi okumak, anlatım boyunca meydana gelen tüm terimi ve tanımları hatırlamaya çalışmayın. Her şey zamanla, özellikle internet sayfalarının köprüsünden bu yana, malzemenin ayrıntılı sunumuna referansların gerekli olduğu yerde bulunabilecekleri iyidir. Her zaman doğru sayfaya geri dönebilir ve tam olarak bilgi açığını hissettiğinizde yapabilirsiniz. Herhangi bir bölüm, farkındalığı açısından zorluk çekmeye neden olursa - atlayın. Gelecekte ona geri dönmeyecekse, bu, gereksiz olmanız için programlamanın temellerini inceleme sürecinde olduğu anlamına gelir.

Algoritma, programlama ve psödokod nedir

Bir algoritmanın ne olduğunu tanımladığımız gerçeğiyle başlayalım. Algoritma - Bu, belirli bir görevi çözmek için yapılması gereken prosedürdür. Algoritma kavramı sadece gerçekleştirilen programlarla ilişkili değildir, bu nedenle "kimin yerine getirmesi gerekiyor" sorusu, cevabı ya da herhangi bir şey olabilir: bir kişi, bir robot, bilgi işlem ekipmanı vb. Algoritma - Bu bir talimat veya rehberdir veya nihayet eylem Programı. Bu durumda, bu, bilgisayarın idare edebileceği tasarımı, bu sayede algoritmanın bir açıklamasıdır. Ya da sadece bu, bilgisayar programının metnini yazma sürecidir. Böyle bir yorumda, programlama ile eşanlamlı kodlama işlemi (kodlama). Neden yorumlama hakkında konuştum? Gerçek şu ki, yazılım geliştiricilerin yaptıkları için çok tercih edilir ve faaliyetleri yalnızca belirli bir programlama dilindeki kodlama sürecine indirgendiğinde son derece mutsuz olabileceğidir. Sadece kodlama değil, aynı zamanda önceki tasarım aşamasının yanı sıra sonraki aşamalar ve bakım. Programlama altında daha sık, bir algoritmanın gelişimi de dahil olmak üzere bir bütün olarak bir bilgisayar programı oluşturma süreci ve kodlama, zaten gelişmiş bir algoritmanın çevirisidir, anlaşılabilir bir dildedir. kodlama nesnesi (Bu, bir bilgisayarı veya birinin verdiği belirli bir programda çalışan herhangi bir cihazı ifade eder).

Öyleyse, herhangi bir zamanda açıklanan herhangi bir görevin algoritması algoritmik dil (prosedürel programlama dili), ilk yaklaşımda bir talimat dizisi olarak görünür veya operatörler. Operatör basit veya kompozit olabilir. Sade Şebeke - Bu atomiktir programlama Dil Birimi. Basit operatörler (değişkenin adını ve türünü tanımlayan), (değişken bir değer atama), giriş ve bilgi çıkış işlemleri vb.

Değişken (programlamada) - Bu, bir bilgisayar programı tarafından işlenen veri bölümünün geçici olarak depolanması amaçlanan RAM alanıdır. Değişken, işgal altındaki belleğin boyutu ve bu hafızanın bilgisayar tarafından nasıl yorumlandığını belirleyen tipte karakterizedir. Değişken tipi basit veya kompozit olabilir (karmaşık). Basit tipler sayısal, sembolik ve mantıksal tip içerir. Kompozit tip, basit ve / veya diğer kompozit tipler kümesidir.

Kompozit operatörler, diğer operatörleri program yürütmesinin sırasındaki ve yönetiminde düzenlemek için kullanılır. Kompozit operatörler (operatörlerin sırasının tekrarı) ve benzerleri ile ilgilidir (). Ve kendileri tarafından operatörler değil. Döngüleri ve koşullu operatörler için değişkenler veya kriterler tarafından değerlerin argümanları olabilirler. Matematiksel ve mantıksal ifadelerin bir kısmı olabilir.

SUBTOTLAR: En basit bilgisayar programı, biri değişkenleri değiştiren, diğerleri, mantıksal ve aritmetik ifadeler tarafından belirtilen koşullara dayanarak programın ilerlemesini (döngüler, koşullu operatörler) kontrol eden bir operatör dizisidir (yazılım talimatları).

Bütün bunların bir kısmı sorulara neden olursa, yukarıdaki bağlantılardan herhangi birine geçmeyi teklif ediyorum ve benim tarafımdan açıklanan usul programlama dilinin tasarımı ile tanışmayı öneriyorum.

Önceden, algoritmalar, onları uygulamadan önce formda temsil edildi. Bugün bana göre, klasik blok diyagramlarının oldukça nadiren (okullarda veya çeşitli programlama bazlarında) olduğu gibi görünüyor. Ayrıca, flowcharts, iş süreçlerini diyagramlarla birlikte tarif etmekte kullanılır, ancak bu zaten MacRoproject aşamalarına bakın. Algoritmaları tanımlayan bazı orta formlar kullanan, ancak böyle bir ihtiyaç ortaya çıkarsa, çok nadiren uygulamamdayım, ancak böyle bir ihtiyaç ortaya çıkarsa, kullanıyorum pseudocoda. Pseudocode - bu sözde dil programlamaHangi standartların bulunmadığı sözdizimi. PseudoCode, gerçek programlama dillerinde program yazarken hiçbir yolu olmayan, parça algoritmasının özünü anlamak için önemsiz değildir. Tek bir pseudoCode'un amacı - Algoritmanın açıklamasını resmileştirin. Çözümleri sahte kod üzerinde tarif edilen görevler, herhangi bir programlama diline çok kolay bir şekilde transfer edilir, çünkü pseudoCode, bunun için bir derleyici olmadığı tek fark ile bir programlama dilidir ve bunun için tek tercüman insan beynidir. Derleyici ve tercüman bu malzemenin sonunda anlatacağım.

Pseudocode üzerindeki algoritmaların örnekleri ve akış çizelgeleri şeklinde

İşte, bir sayıyı psödokode üzerinde yapılan bir diğerine bölünme sorunu için algoritmanın açıklaması örneğidir:

A: Tamsayı tipi giriş (A) B: Etkileşimli tip giriş (B) B \u003d 0 Eğer bu çıkış ("Hata: Bölüm 0!") Son ucu C: Gerçek Tip C \u003d A / B Çıkışı (C)

Entegre Geliştirme Ortamı (IDE, Entegre Geliştirme Ortamı) - Bir program kodu yazmak için kullanıcı araçlarını sunan yazılım araçlarının bir kombinasyonu, sözdizimsel hataları arayın ve hata ayıklama modunda uygulamaları başlatır. Entegre geliştirme ortamı, bir derleyici, bir bağlayıcı, hata ayıklayıcı, profiler ve diğer bileşenler içerir. Programlama dillerinde en popüler yazılım geliştirme ortamı C #, VB.NET ve C ++ ve eğitim amaçlıdır, aşağıdakileri kullanmayı öneriyorum.

Hata ayıklayıcı (hata ayıklayıcı) - Adım adım modunda bir program yapmanızı ve kırılma noktaları veya test noktaları (Break Point) tarafından tanımlanan adımların her birindeki değişkenlerin değerlerini izlemenizi sağlayan IDE aracı.

Profiler (profiler) - Program kodunu yürütmesinin hızı ve işgal ettiği ram için program kodunu optimize etmek için kullanılan IDE aracı. Profilcilerin yardımı ile, kodun hangi kısmının en sık çalıştığı istatistik toplayabilirsiniz ve yürütmesinde ne kadar zaman ve kaynaklar bir bilgisayar harcıyor. Bu istatistiğe dayanarak, programınızın "darboğazlarını" tanımlayabilir ve onları optimize etmek için çabalarınızı gönderebilirsiniz.

Programlama dili - Bir dizi talimatın (operatör) tarafından sunulan resmi bir dil, belirli bir sözdizimine uygunluk, bilgisayar programları yazılmıştır. Bir diğerinde, programlama dili, bilgisayardaki belirli bir görevin algoritmasını uygulamak için ana araçtır.

Makine kodu - Bilgisayar işlemcisinin "çeviri olmadan" anladığı komut sistemi.

Yüksek ve Düşük Programlama Dilleri - Uygulamalı görevleri (üst düzey diller) veya makine koduna (düşük seviye dilleri) yakınlık derecesi ile kullandıklarının kullanım kolaylığı için programlama dillerinin sınıflandırılması.

Şifre (Derleyici) - Yüksek seviye programlama dilinde düşük seviyeli bir dile veya makine kodunda yazılan derleme işlemi - program çevirmesi (program kodu yayınını) yapan bir uygulama. Düşük seviye dilinde derleme altında, program en sık, "ince" bireysel "Bottlenecks" ayarını yapmadan önce "ince" bireysel "Bottlenecks" ayarını yapmak için birleştirici dile yayınlamak içindir. Bir montajcı programının bir örneği görülebilir.

Nesne modülü - Program karmaşıksa ve çok sayıda bileşenden oluşursa, derleyici sonucunu içeren bir dosya, yani makine kodu diğer nesne modüllerine atıfta bulunur.

Linker - Derleyiciden sonra yürütülebilir bir modül oluşturma sürecine giren bir uygulama. Derleme sonucu birkaç nesne modülü ise, tüm bunların bağlayıcı çalıştırılabilir modülü onlardan bulur ve oluşturur.

Yapılan Modül - Programı içeren dosya, belirli bir işletim sisteminin önyükleyicisini işleme yapabilecek şekilde. Çoğu zaman bunlar EXE veya DLL uzantılı dosyalardır.

Yükleyici (yükleyici) - Program için ayrı bir program oluşturan işletim sisteminin bir parçası (işlem için ayrılan RAM alanına) yürütülebilir dosyanın verileri, işlemci kayıtlarını başlatır ve işlemi başlatır. Bundan sonra, program yürütülmeye başlar.

Tercüman (tercüman) - Program kodunu gerçekleştiren bir program aşamalıdır, yalnızca parçayı belirli bir noktada yerine getirilmesi gereken makine koduna yayın yapmaktır. Tercüman program hattını işler. Tercümandan derleyici arasındaki fark, derleyicinin, bir veya daha fazla nesne modülü oluştururken, bir veya daha fazla nesne modülü oluştururken, herhangi bir veya daha fazla nesne modülü oluştururken, derhal bu, yalnızca bu programın parçasını yayınlarken fragman ve gerçekleştirir. Böylece, bazı tercümanlar bir derleyici, bir bağlayıcı ve bir şişede bir yükleyicidir. Bir tercüman örneği, Internet tarayıcısında bir işlem birimidir.

Bu teori ile, kendimi bitirip pratik yapmaya izin vereceğim. Çünkü.

Herhangi bir yerleşik yazılım geliştiricisine, kullandığı gerçek zamanlı işletim sisteminin kaynak koduna erişmek isteyip istemediğini, cevabını neredeyse kesinlikle - elbette olacaktır. Aynısı, satın alınan herhangi bir yazılıma sahip durumdur. Böyle bir cevap, tüm durumlar için akıllı ve kaynak kodunun neden gerekli olduğu ve bazen varlığı beklenenden daha az faydalı mı?

Gerçek zamanlı bir işletim sistemi (ord) seçerken, mühendislerin kullanıldığı bir dizi anahtar kriter vardır. Birçoğu maliyet, işlevsellik, lisans, destek - hiç şüphesiz çok önemlidir (özellikle maliyet gerçekliklerimizdir). Bununla birlikte, başka bir kriter - kaynak kodunun varlığı - bu kadar önemli olmayabilir, ancak her zaman güçlü bir faktör olarak tahmin edilmektedir.

Kaynak kodun mevcudiyeti, otomatik olarak ve ücretsiz olduğu anlamına gelmez. Bu yaklaşım yalnızca açık kaynaklı ürünler için geçerlidir ve diğer durumlarda üreticiler kaynak kodu için ücret alabilir veya istek üzerine temin edilebilir.

Demir gelişimi. Ayrıca, burada VHDL ve Verlog kullanan geliştirme için özellikle doğru olan kaynak kodu var. Buraya işler nasıl gidiyor? Tarihsel olarak, ayrılmaz bir çip seçerken ve başvurusunu geliştirirken, mühendis, işlevselliğin belirtildiği özelliklere, sonuçların yerini, güç kaynağının şartları vb. Aynı zamanda, aynı zamanda, IP iç cihazının tam şemasını görmesi beklenmiyor, ancak yapısal şemayı sıklıkla görebiliyorlardı (temel olarak işleyiş ilkelerinin anlaşılmasını kolaylaştıran açıklayıcı bir malzeme olarak) ve bazen de temel bir Şema (OU'nun analog türü için), mezhepsiz olmasına rağmen.
Günümüzde ASIC veya FPGA üretici yazılımı geliştiren mühendis, büyük olasılıkla, belirli bir işlevsellik sağlayan önceden paketlenmiş bir birim olan bazı hazır IP bloklarını kullanacaktır. Aynı zamanda, seçim şartnamelere dayanacaktır ve IP için orijinal HDL'nin pakete dahil edileceği tamamen açık değildir. "Kara kutular" kullanarak bu yaklaşım, donanım dünyasında iyi bilinmektedir.

Emniyet. Gelecekteki teknik desteğin olanakları göz önüne alındığında, ürüne dahil olan herhangi bir teknoloji seçilmelidir. Örneğin, IP'yi seçtiğinizde, bir üreticiden benzersiz ürünlerin kullanımı, tedarik hatalarındaki problemleri azaltabilenden kaçınılmalıdır.
IP kullanırken, donanım hücreleri olsun veya yazılım tarafından tedarik edilirse, teslimatın gerçekleşmesi durumunda (bir kerelik lisanslar hariç), ancak kalıcı destek mevcut olmalıdır. Bu nedenle, tedarikçinizin ürününüzün ömrü boyunca işletmede olup olmadığı sorusu, belirli bir uygulamayı seçmek için ayarlamak daha iyidir.

IP için kaynak kodu mevcutsa, tedarikçi artık destek veremezse bile, herhangi bir (iyi, hemen hemen her) problemin çözülmesini mümkün kılar. Bu nedenle, birçok RTOS alıcısı vb. Raftaki kaynak koduna sahip olmak istiyorum, sadece ona bakmasalar bile, sadece durumunda.

Yazılımı yapılandırma. Gömülü sistemler ve masaüstleri arasındaki temel fark, birincinin değişkenliğidir. Çoğu PC'ler diğerlerine benzer ve yalnızca zorlamalar arası ortamlarla seçmek: Windows, Mac, veya Linux. Dahili sistemler, sırayla, inanılmaz derecede değişken - çeşitli işlemciler, hafıza yapılandırmaları ve çevre birimleri. Sonuç olarak, IP yazılımı, çeşitli sistemlerde konuşlandırılabilmesi için esnek olmalıdır. Her ne kadar RTO'lar gibi birçok ürün ikili formda tedarik edilse de, genellikle belirli bir mimariye yapılandırılan kütüphane, kaynak kodu tedariki için gereksinimler, tedarikçileri teşvik edebilir, bu sayede, IP'nin sağlanmasından bu yana sayısız varyasyonları koruma ve destekleme ihtiyacını ortadan kaldırabilir. İlk çözüm biçiminde, bu sorunların çoğunu çözer. Kullanıcı belirli bir işlemci için bir kod oluşturabilir, cihazın hafıza kartına uyum sağlayabilir ve gerekli cihaz uzantılarını ekleyebilir. Bazı durumlarda, IP ünitesi bir şartlı derleme kullanılarak yapılandırılabilir - kural olarak, yapılandırmayı belirlemek için bir başlık dosyası düzenlenir.

Sertifika. Bazı uygulama türleri, askeri / havacılık ve tıp için, yerleşik yazılımlar sertifikalandırılmalı ve çeşitli standartlara uygun olmalıdır. Bu işlem karmaşık ve pahalıdır ve genellikle her kod satırının doğrulanmasını gerektirir. Bu nedenle, tüm uygulamanın değerlendirilmesine tabi olduğu için genellikle "önceden sertifikalı" yazılım bloklarını satın almak imkansızdır. Böylece, kritik uygulamaların geliştiricisi, kaynak kodunda bulunan bir IP'yi araması muhtemeldir, böylece tam kontrol yapılabilir.

Kaynak kodu nedir?
Soru garip görünebilir, ancak bunun için bir cevap olmadan, varlığının (veya yokluğunun) herhangi bir yönünü tartışmak, biraz garip bir derste dönüşür. Cevap açık görünebilir: Bazı programın kaynak kodu, derlenilebilen ve işleyen ikili talimatlara eklenebilen, üst düzey bir dilde veya montajcıdaki talimatları içeren bir dizi dosyadır. DÖNÜŞTÜRME DEĞERLENDİRMESİ İÇİN GEREKLİDİR ve onlar için uygulama ortamı için gereklidir Kaynak kodunun bir parçasıdır (ikili)? Bununla birlikte, bu tanım, "kaynak kodunun" temin edilebileceği en az 3 formda yanıt verir (örneğin, c hakkında konuşalım C) kalitenin bozulması sırasına göre:
1) Gerçekten kaynak kodu, iyi bir düzen, değişken adlandırma ve iyi yorumlanan anlaşmaların net sözleşmeleri (kesinlikle isteğe bağlı olan böyle bir IP geliştiricisi).
2) Başarılı bir şekilde derleyecek kod satırları, ancak yorumsuz veya özellikle önemli tanımlayıcı isimleri.
3) Obtrunner'dan sonra kod satırları, kodu okunamayan bir kişiyle, ancak aynı zamanda derleyici için kabul edilebilir. Bu, tanımlayıcı adlarını anlamsız ve tüm yorumları silmek ve sözdizimsel olarak çevrilemeyen boşlukları silmek suretiyle yapılır. Ters bir işlem var, ancak sonuçlarının kabul edilebilir aranması zordur.
Tüm bu formlar aşağıdaki amaçlar için kullanılan yazılım sağlayıcılarıdır:
1) Çoğu alıcının her ikisinin de birçok üreticinin gerçekten sağladığı anlamına gelmesidir. Bununla birlikte, bir satın alma kararı verirken, kaynak koduna ihtiyacınız varsa, bunun tam olarak seçenek olduğundan emin olmak önemlidir, eğer şüpheniz varsa, örnekleri isteyin.
2) Genellikle satıcı, gerekli minimumları (yalnızca) sağlamak istediğinde kullanılır (yalnızca) sertifikasyon için yeterince iyidir.
3) IIP'nin içeriğini, meraklı gözlerden korumak için kullanılır, bu da yazılımın yapılandırılabilirlik avantajını aldığı anlamına gelir, ancak daha fazla.

Kaynak kodunun dezavantajları.
Kaynak kodunun mevcut olması en önemli dezavantajı: Bu güçlü bir günaha. Her geliştirici, yazılımını mümkün olduğu kadar iyi hale getirmek istiyor (iyi, böyle bir bakış açısı var). Örneğin, OSR API, uygulama için en uygun olacak şekilde tam olarak çalışmazsa, kaynak kodun kullanılabilirliği, onu değiştirme yeteneğini sağlar.
Uygulamayı optimal hale getirmiş gibi görünmesine rağmen - harika, ancak uzun vadeli bir destek problemi var. Ya RTOS'un işlevselliği ile ilgili bir sorun mu varsa? Tedarikçi, değiştirilmiş ürünü desteklemeyecektir. OSR'nin yeni bir versiyonu varsa? Yeniden tasarlanan değişiklikler dahil, özellikle yazarları artık çalışmazsa, tekrarlanan değişiklikler yapmak için önemli bir zaman gerektirebilir (ya da bu değişiklikleri 3 yıl önce ve doğal olarak yaptınız ya da tabii ki, yazının dikkatini çekmediler. ilgili belgelerden).

Kaynak kodunun arzu edilebileceği durumu göz önünde bulundurarak, faydalı veya gerekli, gerekli olmadığı sonucuna varılmalıdır, kesinlikle ve her zaman. Uzun süreli destek sunabilecek büyük, iyi bilinen ve kararlı bir tedarikçiden IP satın alırsanız, kaynak kodun varlığı alakalı değildir ve hatta listelenebilir.

Kaynak kodu ya nesne kodu almak için kullanılır veya tercüman tarafından gerçekleştirilir. Değişiklikler hiçbir zaman nesne kodunun üstünde, yalnızca başlangıçta, ardından nesneye yeniden dönüştürülür.

Kaynak kodun bir diğer önemli ödevi, programın bir açıklamasıdır. Metin ile, davranışının mantığını geri yükleyebilirsiniz. Yorumlar kaynak kodunun anlaşılmasını kolaylaştırmak için kullanılır. Kaynak kodunda otomatik olarak belgeleri almanıza izin veren araçlar da vardır. N. Dokümantasyon jeneratörleri.

Ek olarak, kaynak kodun diğer birçok uygulaması vardır. Öğrenme aracı olarak kullanılabilir; Acemi programcılar, tekniği ve programlama metodolojisini incelemek için mevcut kaynak kodunu keşfetmek için kullanışlıdır. Ayrıca (ideal) özlü ve özensiz doğası nedeniyle deneyimli programcılar arasında iletişim kurmak için bir araç olarak da kullanılır. Kod geliştiricileri paylaşım, genellikle programcı deneyiminin iyileştirilmesine katkıda bulunan bir faktör olarak adlandırılır.

Programcılar genellikle kaynak kodunu bir projeden diğerine aktarır; bu, kodun yeniden kullanılması ( Yazılım Yeniden Kullanılabilirlik).

Kaynak kodu, yazılım bağlantı işleminin diğer platformlara en önemli bileşenidir. Yazılımın herhangi bir bölümünün kaynak kodu olmadan, liman ya da mümkün değil ya da mümkün değil.

Organizasyon

Yazılımın bir kısmının kaynak kodu (modül, bileşen) bir veya daha fazla dosyadan oluşabilir. Program kodu mutlaka sadece bir programlama dilinde yazılmaz. Örneğin, genellikle SI dilinde yazılan programlar, optimize etmek için, birleştirici dilinde kodun eklenmesini içerir. Programın bazı bileşenleri veya parçaları farklı dillerde yazıldığında, ardından kütüphane düzeni olarak bilinen teknolojiyi kullanan tek bir çalıştırılabilir modülde düzenlenen durumlar da mümkündür ( kütüphane bağlantısı.).

Montaj yaparken karmaşık yazılım, kaynak kodlu düzinelerce veya hatta yüzlerce dosyanın kullanmasını gerektirir. Bu gibi durumlarda, proje dosyaları sıklıkla, kaynak dosyalar arasında bağımlılık açıklamasını içeren ve montaj işlemini tanımlamak için sıklıkla kullanılır. Bu dosyalar ayrıca derleyici ve tasarım ortamının diğer parametrelerini de içerebilir. Farklı tasarım ortamları için, farklı proje dosyaları uygulanabilir ve bazı ortamlarda, bu dosyalar, evrensel metin editörlerini kullanarak bir programcı tarafından doğrudan düzenlemeye uygun bir metin biçiminde olabilir, özel formatlar diğer ortamlarda desteklenir ve oluşturulur ve Dosyalar, özel enstrümantal programların yardımı ile birlikte verilmektedir. Proje dosyaları tipik olarak "kaynak kodu" kavramını içerir. Modern dil ortamlarının ezici çoğunluğunda, proje dosyaları bu projede yer alan diğer kaynak kodun karmaşıklığından bağımsız olarak mutlaka kullanılır. Genellikle, kaynak kodu altında, kaynak dosyaları bir program oluşturmak için tasarlanmış grafik görüntüler gibi çeşitli veriler içerir.

Kaynak koduyla çalışmayı kolaylaştırmak için, programcılar komutunu işbirliği yapmak için, sürümler kullanılır.

Kalite

Bir kişinin aksine, bir bilgisayar için "iyi yazılmış" veya "kötü yazılmış" kod yoktur. Ancak, kodun yazıldığı, yazılım için destek işlemini zorlaştırabilir. Kaynak kodun kalitesi, aşağıdaki parametreler bağlamında konuşulabilir:

  • kodun okunabilirliği (Comments'in Koduna varlığı veya yokluğu dahil olmak üzere, derleyici programı tarafından inilen keyfi metin blokları dahil);
  • destek, test etme, hata ayıklama ve ortadan kaldırma hataları, değişiklikleri ve portlamayı kolaylaştırır;
  • düşük karmaşıklık;
  • kaynakların düşük kullanımı - bellek, işlemci, disk alanı;
  • derleyici tarafından gösterilen yorumların eksikliği;
  • "Çöp" in yokluğu - "ölü değişkenler" (yani kullanılmayan değişkenler), hiç çalışmayan operatörler, anlamlarını kaybeden bu kodun önceki sürümlerinden yorumlar, vb.

Açıkça kaynak kodu

MOPILLEFLY ücretsiz yazılım için lisanslar kaynak kodunun yayılmasını gerektirir. Bu lisanslar ayrıca program dışı çalışma için de kullanılır - örneğin, bilgisayar oyunları için belgeler, görüntüler, veri dosyaları.

Bu gibi durumlarda, kaynak kodu bu çalışmanın şeklidir, tercihen düzenlemek içindir. Sadece yazılım için tasarlanan lisanslarda, "şeffaf bir biçimde" bir sürüm de olarak adlandırılabilir. Bu, örneğin olabilir:

  • veri kaybı ile sıkıştırılmış bir dosya için - kayıpsız versiyon olmadan;
  • bir raster görüntüsü için - vektör versiyonu;
  • Üç boyutlu bir modelin iki boyutlu görüntüleri için - üç boyutlu model
  • metnin görüntüsü için - metin biçimindeki aynı metin;

son olarak, belirtilen koşulları yerine getirirse veya daha uygun bir sürümün mevcut olmadığı takdirde dosyanın kendisi.

Hangisi insan tarafından okunabilir. Genelleştirilmiş anlamda - tercüman için herhangi bir giriş verisi. Kaynak kodu yayınlandı yürütülebilir kod Bütün bir derleyici kullanarak programı başlatmak için veya bir tercüman yardımı ile derhal yürütülebilir.

Ansiklopedik Youtube.

    1 / 3

    ✪ Bilim gösterisi. Sayı 33. Bilimsel Kinolyaps 2

    ✪ Programlama Temelleri: Kaynak Kodu

    ✪ Soruların cevapları 1: Kaynak kodu

    Altyazı

Amaç

Kaynak kodu ya nesne kodu almak için kullanılır veya tercüman tarafından gerçekleştirilir. Değişiklikler yalnızca kaynağın üstünde yapılır, ardından nesneye yeniden dönüştürülür.

Kaynak kodun bir diğer önemli ödevi, programın bir açıklamasıdır. Metin ile, davranışının mantığını geri yükleyebilirsiniz. Yorumlar kaynak kodunun anlaşılmasını kolaylaştırmak için kullanılır. Kaynak kodunda otomatik olarak belgeleri almanıza izin veren araçlar da vardır. N. Dokümantasyon jeneratörleri.

Ek olarak, kaynak kodun diğer birçok uygulaması vardır. Öğrenme aracı olarak kullanılabilir; Acemi programcılar, tekniği ve programlama metodolojisini incelemek için mevcut kaynak kodunu keşfetmek için kullanışlıdır. Ayrıca, özlü ve açık doğası gereği deneyimli programcılar arasında iletişim kurmak için bir araç olarak da kullanılır. Kod geliştiricileri paylaşım, genellikle programcı deneyiminin iyileştirilmesine katkıda bulunan bir faktör olarak adlandırılır.

Programcılar genellikle kaynak kodunu (mevcut biçimde, mevcut formda veya adaptasyonda) bir projeden diğerine aktarır ve bu da kodun yeniden kullanılması.

Kaynak kodu, yazılım bağlantı işleminin diğer platformlara en önemli bileşenidir. Kaynak kodu olmadan, portlamanın herhangi bir kısmı da mümkün değil ya da mümkün değil.

Organizasyon

Yazılımın bir kısmının kaynak kodu (modül, bileşen) bir veya daha fazla dosyadan oluşabilir. Program kodu mutlaka sadece bir programlama dilinde yazılmaz. Örneğin, genellikle SI dilinde yazılan programlar, optimizasyon nedenleri, assembler dilinde kod eklenmesini içerir. Ayrıca, programın bazı bileşenlerinin veya parçaların farklı dillerde yazıldığı durumlar da vardır, ardından kütüphane düzeni olarak bilinen teknolojiyi kullanarak tek bir çalıştırılabilir modülün içine monte edilmesi (). kütüphane bağlantısı.).

Sofistike montaj yazılımı, kaynak kodlu düzinelerce veya hatta yüzlerce dosyanın kullanılmasını gerektirir. Bu gibi durumlarda, proje dosyaları, kaynak dosyalar arasındaki bağımlılıkların açıklamasını içeren ve montaj işlemini açıklayan montajı basitleştirmek için yaygın olarak kullanılır. Bu dosyalar ayrıca derleyici ve tasarım ortamı için parametreler de içerebilir. Farklı tasarım ortamları için, farklı proje dosyaları kullanılabilir ve bazı ortamlarda, bu dosyalar evrensel metin editörlerini kullanarak doğrudan bir programcıyı düzenlemek için uygun bir metin biçiminde olabilir, özel formatlar diğer ortamlarda desteklenir ve oluşturulur ve Dosyalar, özel enstrümantal programların yardımı ile birlikte verilmektedir. Proje dosyaları tipik olarak "kaynak kodu" kavramını içerir. Genellikle, kaynak kodu altında, kaynak dosyaları bir program oluşturmak için gerekli olan grafik görüntüler gibi çeşitli veriler içerir.

Kaynak koduyla çalışmayı ve programcılar komutunun kodunda çalışmayı kolaylaştırmak için sürümler kullanılır.

Kalite

Bir kişinin aksine, bir bilgisayar için "iyi yazılmış" veya "kötü yazılmış" kod yoktur. Ancak kodun nasıl yazıldığı eşlik yazılımı işlemini yoğun bir şekilde etkileyebilir. Kaynak kodun kalitesi aşağıdaki parametrelerle değerlendirilebilir:

  • müşteri okunabilirliği (kullanılabilirlik dahil)
Konuya devam ediyor:
Akıllı telefon

Minitool Güç Veri Kurtarma Serbest Sürümü, verileri kurtarmak için tasarlanmış kullanımı kolay bir programdır. Minitool Güç Veri Kurtarma ile çalışmak için ...