fel i c++

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

fel i c++

Inlägg av Virr3 »

när jag ska skriva ett program till min knightrider så blir det felmedelande

"bcount.exe har stött på ett problem och måste avslutas"
felsök Skicka felrapport skicka inte

jag använder dev-c++


koden serut på detta vis:

Kod: Markera allt


#include <stdio.h>
#include <conio.h> /*required for _outp*/

int main()
{
	int x;
	for(x = 0;x<=255;x++)
	{
      _outp(0x378,x);
	  sleep(250);
	}
	return 0;
}
vad kan va fel?
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

Inlägg av mullemeck »

hmm är du säker det ska va _outp? känns fel met ett underline där tycker jag..


testa annars kommentera ut den raden och se om det blir bättre om där verkligen ska va ett underline..
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

för det blir inga fel i själva kopileringen det är det jag tycker är lite skumt..

Edit: det går inte kompilera när jag tar bort understräcket:S
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Testa som sagt att köra utan _outp().

Är du säker på att _outp() ska ha porten först och sedan värdet och inte tvärtom?

Kör du något NT-baserat Windows så behöver du speciella drivrutiner för att kunna komma åt parallellporten på det här sättet. En heter PortIO och finns att ladda ner från internet (sök).
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

jajmen jag har program port IO.. tycker att om de skulle vara fel i koden så skulle de uppenbara sig när jag kompilerar inte när jag ska köra programet:S

testar vb 2005 beta nu.. men vart ska ja lägga den där dll filen?
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Har du bytt plats på porten och värdet så borde det gå att kompilera, men det borde ge en varning. Och det är inte helt omöjligt att programmet krashar som du har beskrivit. Jag säger inte att du har gjort fel, men man ska komma ihåg att ordningen på port och värde kan skilja sig mellan olika system.

Jag kan tyvärr inte hjälpa dig kring detaljerna om hur man får igång parallellporten under något NT-Windows (t ex win2000/xp).
Digger
Inlägg: 89
Blev medlem: 26 oktober 2003, 10:27:56
Ort: Norrköping

Inlägg av Digger »

Kan man verkligen använda portadressen på det där sättet mha portdrivrutinen du nämner. Mycket skeptisk. Har den inte ett eget API?
Användarvisningsbild
arvidb
Inlägg: 4537
Blev medlem: 8 maj 2004, 12:56:24
Ort: Stockholm

Inlägg av arvidb »

Virr3 skrev:*snip* tycker att om de skulle vara fel i koden så skulle de uppenbara sig när jag kompilerar inte när jag ska köra programet:S *snip*
Hört talas om Runtime Error? :wink:

Fel man får när man kompilerar kallar "Syntax Error". D.v.s. syntaxfel.

edit: Fel i koden kan alltså uppenbara sig först när programmet körs. Sätt en variabel till noll och dela en annan variabel med den får du se (division by zero).

Arvid
Lallas
Inlägg: 463
Blev medlem: 30 november 2003, 18:46:51
Ort: Malmö

Inlägg av Lallas »

int _outp() :?:
Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

funkar inte:S
Användarvisningsbild
axelsonic
EF Sponsor
Inlägg: 709
Blev medlem: 8 juni 2003, 20:56:03
Ort: Stockholm

Inlägg av axelsonic »

Vilket operativsystem kör du programmet under ?
Lallas
Inlägg: 463
Blev medlem: 30 november 2003, 18:46:51
Ort: Malmö

Inlägg av Lallas »

Virr3
Inlägg: 840
Blev medlem: 25 juli 2004, 23:05:59
Ort: Göteborg

Inlägg av Virr3 »

jag kör xp.. fått igång så att det funkar i vb.. men jag är inte så haj på de så..
Användarvisningsbild
axelsonic
EF Sponsor
Inlägg: 709
Blev medlem: 8 juni 2003, 20:56:03
Ort: Stockholm

Inlägg av axelsonic »

XP/win2k bygger på NT-kärnan vilket inte ger enskilda program tillåtelse att skriva direkt till hårdvaran.

Då dödar operativsystemet programmet direkt.
Vet inte om Dev-c++ har tänkt på det direkt.
Men din kod ser korrekt ut.

Jag har skrivit en LED-skylt till win9 en gång i tiden i turboc++ och min kod såg ungeför ut som din, _outportb(); stämmer och allting ser rätt ut.

Så jag misstänker att det som jag skrev längst upp kan vara problemet.
Men jag är inte helt säkert.
Skriv svar