Schrift
[thread]1134[/thread]

Einstieg in C oder C++?: Assembler-Ersatz.... Fragen über Fragen

Leser: 2


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
master
 2005-10-28 12:45
#11261 #11261
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Am liebsten würde ich mit Assembler arbeiten, jedoch
ist das "herum moven" ( statt z.b. $a = $a +1; ) etwas mühsam, darum suche ich eine Progammiersprache die Assembler am Nächsten steht.

- Hoher Speed, Prozessornahe.  UNABHÄNGIG vom OS!!!*
- Gewisse Grundfunktionalität
- (ev. Plattformunabhängigkeit, oder einfache anpassbarkeit)



*bzw. nur wenn ich explizit will das es an ein OS gebunden wird. ansonsten soll mein C-code nur der CPU gehören.. also keine Windowsfunktionen ansprechen oder so... also Ohne Windows zu starten funktionieren. "Boot-Disk z.B."

Ich habe mir Visual C++ von MS mal installiert. bin aber nicht zufrieden, da der anscheinend ganz frech schon einmal Windows-funktionen (includes) benutzt..

Für Oberflächen, benutze ich aber doch lieber in Perl, weil dies alles viel schneller geht. und Perl beinahe allmächtig ist. so greiffe "bei bedarf" auf C-Funktionen zu. Inline C oder so, mal sehen...

Also habe ich C/C++ sinvollerweise nur für zeitkritische Anwendungen, oder mehr Prozessornähe und unabhängigkeit vom OS geplant.


1. Womit soll ich anfagen, was erfüllt meine Bedürfnisse am besten? C? oder C++?
2. Welchen Compiler soll ich verwenden?

3. Zu einem guten Compiler gehört auch das Linken.. Also den Sourcecode z.B. in eine EXE umzuwandeln.

4. Wie verwandle ich mein C-Programm in Maschinencode?
(Keine C_to_EXE-Scheisse sondern 01101001 in einem File)
Ob ich es dann linken(EXE) will oder auf eine andere Plattform portieren und dort linken will soll mir überlassen werden...


Im Im Prinzip will ich C/C++ so assembler-ähnlich wie möglich(als ersatz, um schneller zu arbeiten).. weil den rest.. den kann ich eh in Perl lösen...

Womit mache ich das C/C++? Welchen Compiler und Entwicklungsumgebung soll ich dazu benutzen?

Am liebsten keine Full-loaded Umgebung die mir alles schon aufdiktiert... sondern einfach ein Compiler(soll ein Maschinencode-File erzeugen), und ev. einen Linker(ev. EXE) dazu zum testen.


Wie siehts inbezug auf Speed aus?
C?
C++?

Gibts Leute die Ihre Treiber sogar in C schreiben?\n\n

<!--EDIT|master|1130489181-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
renee
 2005-10-28 13:03
#11262 #11262
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Einstieg?? Vielleicht hilft Dir http://www.inf.uni-konstanz.de/cgip/lehre/algodat_04/cplusplus1h.pdf
C und C++ sind sich aehnlich weisen aber einige Unterschiede auf. Mit C wirst Du wahrscheinlich Systemnaeher programmieren koennen...

Compiler?? Schau Dir mal den GNU Compiler an: http://www.gnu.org/software/gcc/gcc.html
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2005-10-28 13:06
#11263 #11263
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Solche speziellen Fragen wie Du sie hast, koenne wahrscheinlich andere besser beantworten:
http://www.c-plusplus.de/forum/
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
master
 2005-10-28 13:24
#11264 #11264
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Danke, renee.. :-)
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
Ronnie
 2005-10-28 13:58
#11265 #11265
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Wobei du da einige merkwürdige Vorstellungen hast. Merke: C/C++ ist nur portabel im Quelltext und nur dann wenn du dich auch die Standard-Bibliotheken beschränkst. Mit Assembler bist du auch NICHT betriebssystem-unabhängig, du kannst nicht beliebig an der Hardware rumpfuschen weil du keine Programme starten kannst die im Kernel-Level agieren. Seit AMIGA Zeiten (da ging das mit einer Hand voll Befehlen) habe ich kein OS mehr gesehen das sich das aus der Hand nehmen lassen würde (das wäre auch eine Sicherheitslücke schlechthin).
lichtkind
 2005-10-28 14:13
#11266 #11266
User since
2004-03-22
5679 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
anfangen? mit C weil es ein subset con c++ ist. c wird auch wohl etwas schneller sein. man könnte gcc nehmen weil er fast überall potiert wurde, aber watcom oder digital mars compiler sind meisten auch sehr gut wenn du nicht auf seltene platformen willst. wenn du in das ganze einsteigst solltest du dich vielleicht auhc mit make oder ähnlichem geschäftigen also scripten die das compilieren und linken steuern obwohl man dafür auch was modernereres wie SCons nehmen könnte. (an alle: Gibt es dazu auch keinen Pedanten in perl?)
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
betterworld
 2005-10-28 14:17
#11267 #11267
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
[quote=master,28.10.2005, 10:45]ist das "herum moven" ( statt z.b. $a = $a +1; ) etwas mühsam[/quote]
Code: (dl )
incl eax
Was ist daran "herummoven"?
lichtkind
 2005-10-28 14:22
#11268 #11268
User since
2004-03-22
5679 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
er meint wahrscheinlich den MOV beefehl also da ständige umpositionieren der variablen aus ram in die register dann auf stack usw.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
master
 2005-10-28 15:20
#11269 #11269
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
@Ronnie
Ja das ist mir schon klar...

C = bisschen portabel
Assembler = nicht.. (ok zu 99% nicht)

Aber den C-quellcode kann ich ja dann z.b. für eine andere plattform portieren, sofern ich einigermassen sauber programmiere, oder?

ASM:
Theoretisch dürfte die "kontrolle" gar nicht zurück gehen,
bei assemblerprogrammen(solange man es nicht erlaubt).
auf eine sicherheitslücke mehr oder weniger kommts bei windows ja auch nicht mehr an *g*.
--
Ja mov befehl....
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
master
 2005-10-28 15:45
#11270 #11270
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
man sollte WIRKLICH seinen eigenen Beitrag löschen können... :-)
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2005-10-28 12:45.