Verschil tussen Source Programma en Object Programma

Anonim

Bronprogramma versus Objectprogramma

Bronprogramma en objectprogramma zijn twee typen programma's die worden gevonden in computerprogrammering. Source programma is typisch een programma met leesbare machine instructies die door een programmeur zijn geschreven. Object programma is typisch een machine uitvoerbaar programma gemaakt door het compileren van een bron programma.

Wat is het bronprogramma?

Bronprogramma is een code geschreven door een programmeur die gewoonlijk een taal op een hoger niveau gebruikt, die gemakkelijk door de mensen kan worden gelezen. Bronprogramma's bevatten meestal zinvolle variabele namen en nuttige reacties om het leesbaarder te maken. Een bronprogramma kan niet direct op een machine worden uitgevoerd. Om het uit te voeren, wordt het bronprogramma samengesteld met behulp van een compiler (een programma dat bronprogramma's omzetten naar uitvoerbare code). Als alternatief kan een bronprogramma op de vlucht worden uitgevoerd met behulp van een tolk (een programma dat een bronprogramma lijn voor lijn uitvoert zonder pre-compilatie). Visual Basic is een voorbeeld van een samengestelde taal, terwijl Java een voorbeeld is van een geïnterpreteerde taal. Visual Basic-bronbestanden (.vb-bestanden) zijn samengesteld naar. exe-code, terwijl Java-bronbestanden (.java-bestanden) eerst worden samengesteld (met javac-commando) naar bytecode (een objectcode in. klassenbestanden) en vervolgens geïnterpreteerd met behulp van de java-tolk (met behulp van java-commando). Wanneer software applicaties worden verspreid, bevatten ze meestal geen bronbestanden. Als de applicatie echter open source is, wordt de bron ook verspreid en kan de bron ook de broncode zien en wijzigen.

Wat is Object Programma?

Object programma is meestal een machine uitvoerbaar bestand, dat het gevolg is van het compileren van een bronbestand met behulp van een compiler. Afgezien van de instructies van de machine, kunnen ze debugging informatie, symbolen, stapelinformatie, verhuizing en profilering bevatten. Omdat ze instructies bevatten in de machinecode, kunnen ze niet gemakkelijk door mensen worden gelezen. Maar soms verwijzen objectprogramma's naar een tussenliggende object tussen bron en uitvoerbare bestanden. Gereedschappen die bekend staan ​​als linkers worden gebruikt om een ​​set objecten in een uitvoerbaar te koppelen (bijvoorbeeld C-taal). Zoals hierboven vermeld. exe-bestanden en bytecode-bestanden worden objectbestanden geproduceerd bij gebruik van Visual Basic en Java … exe-bestanden zijn direct uitvoerbaar op Windows-platform, terwijl bytecode-bestanden een tolk nodig hebben voor uitvoering. De meeste software applicaties worden alleen verspreid met het object of alleen uitvoerbare bestanden. Object of uitvoerbare bestanden kunnen door decompilatie worden omgezet naar de oorspronkelijke bronbestanden. Bijvoorbeeld, Java. klassenbestanden (bytecode) kunnen worden gedecompileerd met behulp van Decompiler tools in het origineel.java bestanden.

Wat is het verschil tussen Source Programma en Object Programma?

Bronprogramma is een programma geschreven door een programmeur, terwijl een objectprogramma wordt gegenereerd door een compiler met een of meer bronbestanden als invoer. Bronbestanden zijn geschreven in hogere niveau talen, zoals Java of C (zodat ze gemakkelijk door mensen kunnen worden gelezen), maar objectprogramma's bevatten meestal lagere talen zoals assemblage of machinecode (dus ze zijn niet leesbare voor mensen). Bronbestanden kunnen worden gecompileerd of geïnterpreteerd voor uitvoering. Decompilers kunnen worden gebruikt om objectprogramma's terug te zetten naar het oorspronkelijke bronbestand (en). Het is belangrijk om op te merken dat de termen bronprogramma en objectprogramma als relatieve termen worden gebruikt. Als u een programma transformatie programma (zoals een compiler), wat erin gaat is een bron programma en wat er uit komt is een object programma. Daarom kan een objectprogramma geproduceerd door een gereedschap een bronbestand worden voor een ander gereedschap.