Új hozzászólás Aktív témák
-
#99472384
törölt tag
Sziasztok, Üdv. Mindenkinek!
Segítséget szeretnék kérni Visual C++ fordításban. Van egy kis forráskódom, amit sajnos nem tudok futtatható programmá fordítani.
Eddig Pascal és Delphi programozással kísérleteztem, ezekkel nincs is gondom, de sajnos az említett forráskód Visual C++-ban íródott, és ilyen fejlesztőrendszerem nincs, ami meg ingyenes volt, azzal sehogyan sem jutottam előrébb, mert valami nem igazán működött a fordításnál. Egy jópár hibaüzenettel leállt a fordítás. (pl. stdafx.h hiányzik a fordítónak) Ráadásul a C++-ban nem is igazán vagyok járatos.Szóval abban kérném a hozzáértők segítségét, hogy legyenek szívesek megnézni a kódot, hogy egyáltalán jó-e, és ha igen, akkor legyen szíves valaki ezt nekem le is fordítani egy futtatható programmá. Természetesen Windows-ra kell, és ugye ez konzol progi. Sajnos a program íróját már nem lehet elérni, de állítólag működik, csak én sehogy sem boldogulok...

Az is jó lenne, ha valaki bővebben kommentezné a kódot, mert akkor megpróbálom Delphi-ben megírni, hátha sikerül.Íme a forráskód:
#include "stdafx.h"
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdio.h>
#include "test.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// The one and only application object
CWinApp theApp;
using namespace std;
unsigned long CalcChecksum( unsigned char* buffer, unsigned long len, unsigned long seed );
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
int fh;
unsigned char buffer[0x8000];
unsigned short len = 0x7FFC;
unsigned short count;
unsigned short seed = 1;
unsigned long chkSum;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
if( argc != 2 )
{
cout << "usage: CalcChecksum.exe drive:\\path\\info.dvr" << endl;
return 0;
}
fh = _open(argv[1], _O_RDONLY | _O_BINARY);
if( fh == -1 )
{
cout << "Error opening file " << argv[1] << endl;
}
count = _read( fh, buffer, 0x8000 );
if( count != 0x8000 )
{
cout << "Error reading file " << argv[1] << endl;
return 0;
}
_close(fh);
chkSum = CalcChecksum( &buffer[0], len, seed );
_ultoa( chkSum, (char*)&buffer[0], 16 );
cout << "Checksum: 0x" << buffer << endl;
}
return nRetCode;
}
unsigned long CalcChecksum( unsigned char* buffer, unsigned long len, unsigned long seed )
{
unsigned char nrOfSegments;
unsigned long regECX = seed;
unsigned long regEDX = 0;
unsigned long regEDI = 0;
unsigned long retVal;
nrOfSegments = len / 0x15b0;
for( unsigned short i = 0; i < nrOfSegments; i++ )
{
for( unsigned short j = 0; j < 0x15b0; j++ )
{
regEDX = buffer[i*0x15b0+j];
regECX += regEDX;
regEDI += regECX;
}
regECX = regECX % 0xFFF1;
regEDI = regEDI % 0xFFF1;
}
for( i = (nrOfSegments*0x15b0); i < len; i++ )
{
regEDX = buffer[i];
regECX += regEDX;
regEDI += regECX;
}
regECX = regECX % 0xFFF1;
regEDI = regEDI % 0xFFF1;
retVal = (regEDI << 16) | regECX;
return( retVal );
}ennyi lenne...
Ha valaki tudna segíteni, és lefordítaná nekem, akkor azt nagyon szépen megköszönném!
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- PlayStation 5
- AMD GPU-k jövője - amit tudni vélünk
- Vicces képek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Bittorrent topik
- Milyen autót vegyek?
- World of Tanks - MMO
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kerékpárosok, bringások ide!
- További aktív témák...
- Bontatlan! Új Lenovo Thinkpad T14 G5 Tartós Üzleti Laptop 14" -45% Ultra 7 165U 16/512 FHD+ Magyar!
- Bomba Ár! Fujitsu LifeBook E751 - i5-2GEN I 4GB I 500GB I DVDRW I 15,6" HD I Cam I W10 I Gari!
- Bomba ár! Dell Latitude E6440 - i5-4GEN I 8GB I 256SSD I 14" HD I HDMI I Cam I W10 I Garancia!
- Bomba ár! Dell Latitude E6540 - i5-4GEN I 8GB I 500GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- Bomba Ár! Lenovo ThinkPad E15 G4 AMD - Ryzen 5 5625U I 8GB I 256SSD I 15,6" FHD I HDMI I W11 I Gari
- BESZÁMÍTÁS! Gigabyte Z170X-Ultra Gaming Z170 chipset alaplap garanciával hibátlan működéssel
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS ROG STRIX RTX 3070Ti 8GB videokártya garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 15 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3944, 100% Akkumulátor
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


