Forum: Compiler & IDEs Root Dateiordner in Mobile C


von Sperry Berry (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebes Forum, da ich keinen eigenen Computer habe mache ich vieles 
auf dem Handy. Ich habe Mobile C installiert und kann darauf kleine C 
Programme testen. Eigentlich hatte ich nur eine Frage zur else if 
Syntax. Aber ich konnte die Datei Mein_erstes_Programm.c nicht auf den 
Speichermedien des Handys finden.
Deshalb habe ich einen Screenshot mit einer Digitalkamera gemacht.
Ganz schön umständlich. So habe ich jetzt ganz andere Fragen:
1. In welchem (unter)Forum sollte man Fragen zur C Syntax stellen?
2. Wo ist die Datei: "Mein_Programm.c" zu finden?

3. Wie mache ich einen Screenshot auf dem Android Handy?
Sorry, es sind wahrscheinlich extrem dämliche Fragen, aber es quält mich 
halt...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sperry Berry schrieb:
> 1. In welchem (unter)Forum sollte man Fragen zur C Syntax stellen?

Das ist so vollkommen falsch hier nicht.

> 2. Wo ist die Datei: "Mein_Programm.c" zu finden?

Das kann nur beantworten, wer "Mobile C" kennt.

> Wie mache ich einen Screenshot auf dem Android Handy?

(5 Sekunden Google)

> Üblicherweise wird ein Screenshot unter Android (z.B. bei Sony oder HTC) dann 
erstellt, wenn Sie den Power-Button und den Leiser-Button gleichzeitig für wenige 
Sekunden gedrückt halten. Bei einigen Herstellern müssen Sie die Power- und die 
Home-Taste gleichzeitig drücken.

von Sperry Berry (Gast)


Lesenswert?

Ja OK, recht vielen Dank!

von Sperry Berry (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebes Forum, ich habe eine Routine in Mobile C geschrieben. Ich 
dachte immer ich müsste bei if else if ganz viele geschweifte Klammern 
machen. Aber Hilfe, mein kleines Programm macht genau was es soll. Kann 
dieses kleine Glück von Dauer sein (auch auf anderen Compilern), oder 
ist es nur ein Compilerfehler? Ich bin mir insgeheim gar nicht mal so 
sicher, ob dieses Mobile C nicht insgeheim ein Interpreter ist...

von silsi (Gast)


Lesenswert?

Was du da geschrieben hast ist korrektes C, wenn du keine {} setzt, wird 
angenommen, dass die nächste Anweisung zum if / else if gehört.

von zitter_ned_aso (Gast)


Lesenswert?

Mit dieser Einrückung sieht es so aus als würden alle else if's und else 
zu der der zweite if-Bedinungen gehören.

von zitter_ned_aso (Gast)


Lesenswert?

zitter_ned_aso schrieb:
> zu der der zweite if-Bedinungen gehören.

zu der zweiten if-Bedingung

von g457 (Gast)


Lesenswert?

> Aber Hilfe, [..]

Das Fragment sieht aus wie ein Lehrbuchbeispiel für "How to write 
unmaintainable code" [0]. Grauenvoll.

Nix für ungut.

[0] z.B. 
https://www.se.rit.edu/~tabeec/RIT_441/Resources_files/How%20To%20Write%20Unmaintainable%20Code.pdf

von Sperry Berry (Gast)


Lesenswert?

g457 schrieb:
> Das Fragment sieht aus wie ein Lehrbuchbeispiel für "How to write
> unmaintainable code" [0]. Grauenvoll
Übersetzung unmaintainable = unverwundbar.
Warum ist das grauenvoll?

Ich weiß selber das mein kleiner Codeschnipsel suboptimal ist. Es ist 
ein Test für eine Timerinteruptroutine die alle 10μs aufgerufen wird.
Task_0 soll bei jedem 2tem Interrupt ausgeführt werden.
Task_1 bei jedem 4ten Interrupt.
Task_2 bei jedem 8ten.
Task_3 bei jedem 16ten.
Usw.
Mein kleiner Codeschnipsel soll also berechnen, welcher Task auszuführen 
ist. Das muss schnell gehen, damit noch ein ganz bisschen Rechenleistung 
für das Hauptprogramm übrig bleibt. Alternativ könnte man eine Tabelle 
mit z.B. 1024 Einträgen verwenden.
Oder es gibt noch einen ganz anderen Trick...

von g457 (Gast)


Lesenswert?

> Übersetzung unmaintainable = unverwundbar.

rofl, der war gut.

> Warum ist das grauenvoll?

Nochmal im Wörterbuch nachschlagen.

von Dieter F. (Gast)


Lesenswert?

Sperry Berry schrieb:
> oder
> ist es nur ein Compilerfehler?

Zeig mal das Fehlerprotokoll.

Ich glaube nicht, dass so etwas fehlerfrei compiliert wird. Falls ja, 
welcher Compiler und welches OS  CPU  MC.

von zitter_ned_aso (Gast)


Lesenswert?

Sperry Berry schrieb:
> Task_1 bei jedem 4ten Interrupt.

Das ist diese Bedingung:
1
else if(n & 0x02)
2
      k=1;

Und diese Bedingung ist für n=2 (aus der for-Schleife) richtig. Aber das 
ist kein 4. Interrupt. (n==2)

Sperry Berry schrieb:
> Task_2 bei jedem 8ten.
1
else if(n & 0x04)
2
      k=2;

Und diese Bedingung ist ja für n=4 richtig. Und das ist ja kein 8. 
Interrupt (n==4).

Der Anfang scheint nicht richtig zu sein oder?

von Yalu X. (yalu) (Moderator)


Lesenswert?

zitter_ned_aso schrieb:
> Sperry Berry schrieb:
>> Task_1 bei jedem 4ten Interrupt.
>
> Das ist diese Bedingung:
> else if(n & 0x02)
>       k=1;
>
> Und diese Bedingung ist für n=2 (aus der for-Schleife) richtig. Aber das
> ist kein 4. Interrupt. (n==2)

Er schrieb ja nicht "in dem 4. Interrupt", "sondern in jedem 4.
Interrupt". k=1 wird ausgeführt für n=2,6,10,14,…, also in jedem 4.
Interrupt. Entsprechend wird k=2 ausgeführt für n=4,12,20,28,…, also in
jedem 8. Interrupt usw.

Das hat also schon seine Richtigkeit.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.