Thread View: pl.comp.lang.c
42 messages
42 total messages
Started by (fir)
Sat, 29 Apr 2017 12:46
need a program that will print a percent of code in tehe exe/dll
Author: (fir)
Date: Sat, 29 Apr 2017 12:46
Date: Sat, 29 Apr 2017 12:46
11 lines
1761 bytes
1761 bytes
if you got exe or dll the most important sections are .code .data .const and .bss need a simple console program that show the size of the code (in bytes and also in percent) in given .exe .dll [also sieze of consts and initialised data, yet size of static arrays] i think it will be simple like less than 100 lines probably (maybe even more like 30 or 50) but needs a moment to write some pieces? (i can vrite it alone but posted this idea and question as i find it good and usefull)
need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Sat, 29 Apr 2017 19:12
Date: Sat, 29 Apr 2017 19:12
1 lines
1365 bytes
1365 bytes
I do it for you with no your cost. Give me message if you agree.
Re: need a program that will print a percent of code in tehe exe/dll
Author: (fir)
Date: Sat, 29 Apr 2017 21:01
Date: Sat, 29 Apr 2017 21:01
4 lines
1730 bytes
1730 bytes
W dniu sobota, 29 kwietnia 2017 21:12:26 UTC+2 użytkownik Przemek Biernat napisał: > I do it for you with no your cost. Give me message if you agree. mozesz zapostowac kod jesli chcesz... sam przy okazji jednak tez to skrobne, bo jak mowie to dobry pomysl.. trudniej by bylo zrobic plugin do total komandera ktory by to wyswietlal a przydalby sie moze
Re: need a program that will print a percent of code in tehe exe/dll
Author: Roman Tyczka
Date: Sat, 29 Apr 2017 22:01
Date: Sat, 29 Apr 2017 22:01
12 lines
1396 bytes
1396 bytes
On Sat, 29 Apr 2017 14:01:26 -0700 (PDT), (fir) wrote: >> I do it for you with no your cost. Give me message if you agree. > > mozesz zapostowac kod jesli chcesz... sam przy okazji jednak tez to skrobne, bo jak mowie to dobry pomysl.. trudniej by bylo zrobic plugin do total komandera ktory by to wyswietlal a przydalby sie moze https://totalcmd.net/plugring/fileinfo.html https://totalcmd.net/plugring/peviewer.html -- pozdrawiam Roman Tyczka
Re: need a program that will print a percent of code in tehe exe/dll
Author: (fir)
Date: Sat, 29 Apr 2017 22:49
Date: Sat, 29 Apr 2017 22:49
89 lines
4458 bytes
4458 bytes
W dniu niedziela, 30 kwietnia 2017 00:01:21 UTC+2 użytkownik Roman Tyczka napisał:
> On Sat, 29 Apr 2017 14:01:26 -0700 (PDT), (fir) wrote:
>
> >> I do it for you with no your cost. Give me message if you agree.
> >
> > mozesz zapostowac kod jesli chcesz... sam przy okazji jednak tez to skrobne, bo jak mowie to dobry pomysl.. trudniej by bylo zrobic plugin do total komandera ktory by to wyswietlal a przydalby sie moze
>
> https://totalcmd.net/plugring/fileinfo.html
> https://totalcmd.net/plugring/peviewer.html
>
te pluginy podaja rozmiary w heksie co jest nieczytelne,
mi sjest potrzebny rozmiar kodu w kodzie w moich wlasnych produkcjach ot tak dla ciekawosci (mozna dostrzec ciekawe rzeczy np rozmiar .bss u mnie w niektorych libkach jest czasem zasakujaco duzy, a tak z glowy nie pamietalem ze az tyle tego alokuje)
machnalem jakiegos tam drafta testowego
///////////////////////////////////////////
int GetFileSize1(FILE* file)
{
int seek_pos = ftell(file);
int error = fseek(file, 0, SEEK_END);
if(error) printf ("seek1 error"), exit (-1);
int file_length = ftell(file) ;
error = fseek(file, seek_pos, SEEK_SET);
if(error) printf ("seek2 error"), exit (-1);
return file_length;
}
int main(int argc, char **argv)
{
char* filename = NULL ;
if (argc>=2)
filename = argv[1];
else
printf ("\n this tiny program prints names and sizes of executable file sections (exe or dll) \n USE: firdump.exe filepath \n "), exit (-1);
FILE* file = fopen ( filename , "rb" );
if (!file) printf ("cant open file %s", filename), exit (-1);
static char pe_image[1024];
int result = fread (pe_image, 1, 1024, file);
int file_size = GetFileSize1(file);
fclose(file);
///////////
printf("\n --= fir's executable sections info =-- \n\n sections for %s ( %d bytes ) \n", filename, file_size);
int pe_header_offset = *((int*) &pe_image[0x3c]);
int size_of_image_file_header = 24;
short size_of_optional_header = *((short*) &pe_image[pe_header_offset+20]);
int sections_offset = pe_header_offset + size_of_image_file_header + size_of_optional_header;
short number_of_sections = *( (short*) &pe_image[pe_header_offset+6]);
for(int n = 0; n<number_of_sections; n++)
{
char* section_name = (char*) &pe_image[sections_offset + n*0x28];
int section_size = *((int*) &pe_image[sections_offset + n*0x28 + 8]);
unsigned section_flags = *((unsigned*) &pe_image[sections_offset + n*0x28 + 36]);
static char section_flags_binary_string [33];
itoa (section_flags, section_flags_binary_string, 2);
int percent_size = 100*section_size/file_size;
if(section_size>file_size)
printf("\n %10.8s %10d bytes %4s %33s", section_name, section_size, " ", section_flags_binary_string );
else
printf("\n %10.8s %10d bytes %4d%% %33s", section_name, section_size, percent_size, section_flags_binary_string );
}
printf("\n\n " );
////////////
}
Re: need a program that will print a percent of code in tehe exe/dll
Author: Matt D.
Date: Sat, 29 Apr 2017 23:18
Date: Sat, 29 Apr 2017 23:18
25 lines
1989 bytes
1989 bytes
On 4/29/2017 14:46, (fir) wrote: > if you got exe or dll the most important sections are .code .data .const and .bss > > need a simple console program that show the size of the code > (in bytes and also in percent) in given .exe .dll [also sieze of consts and initialised data, yet size of static arrays] Tools: GNU Size: https://sourceware.org/binutils/docs/binutils/size.html PE Insider: http://cerbero.io/peinsider/ GNU Size Examples: http://www.geeksforgeeks.org/memory-layout-of-c-program/ ttp://cs-fundamentals.com/c-programming/memory-layout-of-c-program-code-data-segments.php#size-of-code-data-bss-segments See also Ange Albertini's work: http://i.imgur.com/tnUca.jpg https://speakerdeck.com/ange/workshop-exploring-the-portable-executable-format https://github.com/corkami/docs/blob/master/PE/PE.md https://speakerdeck.com/ange/x86-and-pe https://speakerdeck.com/ange/byte-ing-the-pe-that-fails-you https://speakerdeck.com/ange/booklet-elf101-a-linux-executable-walkthrough Best, Matt
Re: need a program that will print a percent of code in tehe exe/dll
Author: (fir)
Date: Sun, 30 Apr 2017 08:44
Date: Sun, 30 Apr 2017 08:44
28 lines
2756 bytes
2756 bytes
W dniu niedziela, 30 kwietnia 2017 01:18:19 UTC+2 użytkownik Matt D. napisał: > On 4/29/2017 14:46, (fir) wrote: > > if you got exe or dll the most important sections are .code .data .const and .bss > > > > need a simple console program that show the size of the code > > (in bytes and also in percent) in given .exe .dll [also sieze of consts and initialised data, yet size of static arrays] > > Tools: > GNU Size: https://sourceware.org/binutils/docs/binutils/size.html > PE Insider: http://cerbero.io/peinsider/ > > GNU Size Examples: > http://www.geeksforgeeks.org/memory-layout-of-c-program/ > ttp://cs-fundamentals.com/c-programming/memory-layout-of-c-program-code-data-segments.php#size-of-code-data-bss-segments > > See also Ange Albertini's work: > http://i.imgur.com/tnUca.jpg > https://speakerdeck.com/ange/workshop-exploring-the-portable-executable-format > https://github.com/corkami/docs/blob/master/PE/PE.md > https://speakerdeck.com/ange/x86-and-pe > https://speakerdeck.com/ange/byte-ing-the-pe-that-fails-you > https://speakerdeck.com/ange/booklet-elf101-a-linux-executable-walkthrough > > Best, > > Matt ok, tnx moze sie przyda.. niby program napisany na razie a grzebanie w tym pe jest nudne ale jak ktos jest nieskopoziomowym programista windows to nieststy trzeba chyba znac
Re: need a program that will print a percent of code in tehe exe/dll
Author: (fir)
Date: Sun, 30 Apr 2017 10:49
Date: Sun, 30 Apr 2017 10:49
42 lines
3972 bytes
3972 bytes
W dniu niedziela, 30 kwietnia 2017 10:44:50 UTC+2 użytkownik (fir) napisał: > W dniu niedziela, 30 kwietnia 2017 01:18:19 UTC+2 użytkownik Matt D. napisał: > > On 4/29/2017 14:46, (fir) wrote: > > > if you got exe or dll the most important sections are .code .data .const and .bss > > > > > > need a simple console program that show the size of the code > > > (in bytes and also in percent) in given .exe .dll [also sieze of consts and initialised data, yet size of static arrays] > > > > Tools: > > GNU Size: https://sourceware.org/binutils/docs/binutils/size.html > > PE Insider: http://cerbero.io/peinsider/ > > > > GNU Size Examples: > > http://www.geeksforgeeks.org/memory-layout-of-c-program/ > > ttp://cs-fundamentals.com/c-programming/memory-layout-of-c-program-code-data-segments.php#size-of-code-data-bss-segments > > > > See also Ange Albertini's work: > > http://i.imgur.com/tnUca.jpg > > https://speakerdeck.com/ange/workshop-exploring-the-portable-executable-format > > https://github.com/corkami/docs/blob/master/PE/PE.md > > https://speakerdeck.com/ange/x86-and-pe > > https://speakerdeck.com/ange/byte-ing-the-pe-that-fails-you > > https://speakerdeck.com/ange/booklet-elf101-a-linux-executable-walkthrough > > > > Best, > > > > Matt > > ok, tnx moze sie przyda.. niby program napisany na razie a grzebanie w tym pe jest nudne ale jak ktos jest nieskopoziomowym programista windows to nieststy trzeba chyba znac ps przy okazji skrobnalem disklaimer dlaczego czasem moj kod jest "enough good" (ps my code posted is badly shaped i know, but it is becouse i do not code edge cases firstly also do not shape code stylistically firstly (just to spare as much energy i can) - anyway one must establish some level on which one think "this code is ENOUGH good" and it is not excluded that setting this level lower is better than setting it higher (i know using structs and do some edge case checking, reformating names and shape etc is in fact better.. but form other point of view go worse is better - so i write this disclimer to say that for sure i know thic coede i post could look better but i also deny to tace comments on this as i code how i code for some practical purpose and dont like to meet morons with their stupid comments like your code is ugly ;c hope im understood) pisze to bo nie chce mi sie gadac z rozmaitymi debilami ktorzy pewnie zawsze pala sie by wypominac "bledy w kodzie " czy "zly wyglad" o czym nie mam zamiaru ostatnio dyskutowac
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Sun, 30 Apr 2017 17:57
Date: Sun, 30 Apr 2017 17:57
83 lines
4945 bytes
4945 bytes
On Sunday, April 30, 2017 at 12:49:15 PM UTC+2, (fir) wrote:
> W dniu niedziela, 30 kwietnia 2017 10:44:50 UTC+2 użytkownik (fir) napisał:
> > W dniu niedziela, 30 kwietnia 2017 01:18:19 UTC+2 użytkownik Matt D. napisał:
> > > On 4/29/2017 14:46, (fir) wrote:
> > > > if you got exe or dll the most important sections are .code .data .const and .bss
> > > >
> > > > need a simple console program that show the size of the code
> > > > (in bytes and also in percent) in given .exe .dll [also sieze of consts and initialised data, yet size of static arrays]
> > >
> > > Tools:
> > > GNU Size: https://sourceware.org/binutils/docs/binutils/size.html
> > > PE Insider: http://cerbero.io/peinsider/
> > >
> > > GNU Size Examples:
> > > http://www.geeksforgeeks.org/memory-layout-of-c-program/
> > > ttp://cs-fundamentals.com/c-programming/memory-layout-of-c-program-code-data-segments.php#size-of-code-data-bss-segments
> > >
> > > See also Ange Albertini's work:
> > > http://i.imgur.com/tnUca.jpg
> > > https://speakerdeck.com/ange/workshop-exploring-the-portable-executable-format
> > > https://github.com/corkami/docs/blob/master/PE/PE.md
> > > https://speakerdeck.com/ange/x86-and-pe
> > > https://speakerdeck.com/ange/byte-ing-the-pe-that-fails-you
> > > https://speakerdeck.com/ange/booklet-elf101-a-linux-executable-walkthrough
> > >
> > > Best,
> > >
> > > Matt
> >
> > ok, tnx moze sie przyda.. niby program napisany na razie a grzebanie w tym pe jest nudne ale jak ktos jest nieskopoziomowym programista windows to nieststy trzeba chyba znac
>
> ps przy okazji skrobnalem disklaimer dlaczego czasem moj kod jest "enough good"
>
> (ps my code posted is badly shaped i know, but it is becouse i do not code edge cases firstly also do not
> shape code stylistically firstly (just to spare as
> much energy i can) - anyway one must establish some level on which one think "this code is ENOUGH good"
> and it is not excluded that setting this level lower
> is better than setting it higher (i know using structs and do some edge case checking, reformating names and
> shape etc is in fact better.. but form other point of view go worse is better - so i write this disclimer
> to say that for sure i know thic coede i post could
> look better but i also deny to tace comments on this as i code how i code for some practical purpose and dont like to meet morons with their stupid comments like your code is ugly ;c hope im understood)
>
> pisze to bo nie chce mi sie gadac z rozmaitymi debilami ktorzy pewnie zawsze pala sie by wypominac "bledy w kodzie " czy "zly wyglad" o czym nie mam zamiaru ostatnio dyskutowac
My solution:
#include <stdio.h>
#include <iostream>
int main()
{
FILE* file = fopen("file.txt", "r+w");
fseek(file, 0, SEEK_END);
unsigned long long space_count = 0;
unsigned long long chars_count = 0;
unsigned long long lines_count = 0;
unsigned long long all_count = 0;
char* ch = new char[1];
while(!feof(file))
{
fread(ch, 1, 1, file)
++all_count;
if(ch == 32) //space
++space_count;
else if(ch == 13) //endline
++lines_count;
else
++chars_count;
}
std::count << "spaces: " << space_count << std::endl;
std::count << "chars: " << chars_count << std::endl;
std::count << "lines: " << lines_count << std::endl;
std::count << "all_count: " << all_count << std::endl;
}
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Sun, 30 Apr 2017 18:00
Date: Sun, 30 Apr 2017 18:00
86 lines
5347 bytes
5347 bytes
On Sunday, April 30, 2017 at 7:57:03 PM UTC+2, Przemek Biernat wrote:
> On Sunday, April 30, 2017 at 12:49:15 PM UTC+2, (fir) wrote:
> > W dniu niedziela, 30 kwietnia 2017 10:44:50 UTC+2 użytkownik (fir) napisał:
> > > W dniu niedziela, 30 kwietnia 2017 01:18:19 UTC+2 użytkownik Matt D. napisał:
> > > > On 4/29/2017 14:46, (fir) wrote:
> > > > > if you got exe or dll the most important sections are .code .data .const and .bss
> > > > >
> > > > > need a simple console program that show the size of the code
> > > > > (in bytes and also in percent) in given .exe .dll [also sieze of consts and initialised data, yet size of static arrays]
> > > >
> > > > Tools:
> > > > GNU Size: https://sourceware.org/binutils/docs/binutils/size.html
> > > > PE Insider: http://cerbero.io/peinsider/
> > > >
> > > > GNU Size Examples:
> > > > http://www.geeksforgeeks.org/memory-layout-of-c-program/
> > > > ttp://cs-fundamentals.com/c-programming/memory-layout-of-c-program-code-data-segments.php#size-of-code-data-bss-segments
> > > >
> > > > See also Ange Albertini's work:
> > > > http://i.imgur.com/tnUca.jpg
> > > > https://speakerdeck.com/ange/workshop-exploring-the-portable-executable-format
> > > > https://github.com/corkami/docs/blob/master/PE/PE.md
> > > > https://speakerdeck.com/ange/x86-and-pe
> > > > https://speakerdeck.com/ange/byte-ing-the-pe-that-fails-you
> > > > https://speakerdeck.com/ange/booklet-elf101-a-linux-executable-walkthrough
> > > >
> > > > Best,
> > > >
> > > > Matt
> > >
> > > ok, tnx moze sie przyda.. niby program napisany na razie a grzebanie w tym pe jest nudne ale jak ktos jest nieskopoziomowym programista windows to nieststy trzeba chyba znac
> >
> > ps przy okazji skrobnalem disklaimer dlaczego czasem moj kod jest "enough good"
> >
> > (ps my code posted is badly shaped i know, but it is becouse i do not code edge cases firstly also do not
> > shape code stylistically firstly (just to spare as
> > much energy i can) - anyway one must establish some level on which one think "this code is ENOUGH good"
> > and it is not excluded that setting this level lower
> > is better than setting it higher (i know using structs and do some edge case checking, reformating names and
> > shape etc is in fact better.. but form other point of view go worse is better - so i write this disclimer
> > to say that for sure i know thic coede i post could
> > look better but i also deny to tace comments on this as i code how i code for some practical purpose and dont like to meet morons with their stupid comments like your code is ugly ;c hope im understood)
> >
> > pisze to bo nie chce mi sie gadac z rozmaitymi debilami ktorzy pewnie zawsze pala sie by wypominac "bledy w kodzie " czy "zly wyglad" o czym nie mam zamiaru ostatnio dyskutowac
>
> My solution:
>
> #include <stdio.h>
> #include <iostream>
>
> int main()
> {
>
> FILE* file = fopen("file.txt", "r+w");
>
> fseek(file, 0, SEEK_END);
>
> unsigned long long space_count = 0;
> unsigned long long chars_count = 0;
> unsigned long long lines_count = 0;
> unsigned long long all_count = 0;
>
> char* ch = new char[1];
>
> while(!feof(file))
> {
> fread(ch, 1, 1, file)
>
> ++all_count;
>
> if(ch == 32) //space
> ++space_count;
> else if(ch == 13) //endline
> ++lines_count;
> else
> ++chars_count;
> }
>
> std::count << "spaces: " << space_count << std::endl;
> std::count << "chars: " << chars_count << std::endl;
> std::count << "lines: " << lines_count << std::endl;
> std::count << "all_count: " << all_count << std::endl;
>
> }
Tam można jeszcze zrobić sprawdzenie czy fread wczytał znak ale skoro feof przechodzi to powinien wczytać.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Sun, 30 Apr 2017 19:19
Date: Sun, 30 Apr 2017 19:19
21 lines
2279 bytes
2279 bytes
"(fir)" <profesor.fir@gmail.com> wrote: > much energy i can) - anyway one must establish some level on which one > think "this code is ENOUGH good" "Good enough" > pisze to bo nie chce mi sie gadac z rozmaitymi debilami ktorzy pewnie > zawsze pala sie by wypominac "bledy w kodzie " czy "zly wyglad" o czym > nie mam zamiaru ostatnio dyskutowac Cholera, a ja głupi zawsze myślałem, że błędy w kodzie wskazuje się po to, żeby wszyscy na grupie mogli się doskonalić, bo przecież niemożliwością jest przewidzenie wszystkiego... tymczasem wychodzi na to, że wskazywanie błędów w kodzie to personalny atak i wypominanie... Życie nigdy nie przestanie mnie zadziwiać. -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Sun, 30 Apr 2017 19:32
Date: Sun, 30 Apr 2017 19:32
49 lines
2926 bytes
2926 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote:
> int main()
> {
>
> FILE* file = fopen("file.txt", "r+w");
Nie znam trybu r+w. Co on (wg Ciebie) robi i gdzie to znalazłeś?
Jeśli chcesz otworzyć do odczytu i zapisu, użyj r+ lub w+, ale tutaj
przecież nie piszesz do pliku, więc po co zapis?
> fseek(file, 0, SEEK_END);
Przechodzisz na koniec pliku - co Ty chcesz potem z niego odczytywać?
Testowałeś w ogóle ten program?
> char* ch = new char[1];
Gdzie zwalniasz ch? I czemu w taki sposób, a nie char ch?
> while(!feof(file))
Za pierwszym razem będzie false, po pierwszym fread będzie true.
> {
> fread(ch, 1, 1, file)
Gdybyś miał char ch, to mógłbyś zrobić fread(&ch, ...).
Kodu nie testowałeś, bo miałbyś tu błąd (brak średnika). Nie testujesz też
powrotu z fread(), który będzie 0 (bo czytasz na końcu pliku).
> if(ch == 32) //space
Sprawdzasz, czy wskaźnik jest 32. Najprawdopodobniej nie jest.
I najprawdopodobniej nie o to Ci chodziło.
> std::count << "spaces: " << space_count << std::endl;
std::cout, nie count.
Może następnym razem, zanim wkleisz kod, spróbuj go chociaż skompilować
i przetestować na najprostszych danych wejściowych...
--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Sun, 30 Apr 2017 19:33
Date: Sun, 30 Apr 2017 19:33
12 lines
2029 bytes
2029 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Tam można jeszcze zrobić sprawdzenie czy fread wczytał znak ale skoro > feof przechodzi to powinien wczytać. Nie powinien i nie wczyta - nawet bez tego SEEK_END, gdy już będziesz na końcu pliku, to fread() pierwszy zwróci zero, a dopiero kolejny feof() zwróci niezero. -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Sun, 30 Apr 2017 20:48
Date: Sun, 30 Apr 2017 20:48
1 lines
1597 bytes
1597 bytes
Drobny błąd do wychwycenia w pierwszym teście.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Sun, 30 Apr 2017 20:51
Date: Sun, 30 Apr 2017 20:51
1 lines
1550 bytes
1550 bytes
Rozumiem że wszystkie kody tu wklejane są bezbłędne.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Mon, 01 May 2017 00:43
Date: Mon, 01 May 2017 00:43
24 lines
2740 bytes
2740 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Rozumiem że wszystkie kody tu wklejane są bezbłędne. Nie, i nie chodzi o bezblednosc kodu - kwestie typu brak srednika, czy count zamiast cout, to literowki, ktore od razu wychwyci kompilator. Porownywanie wskaznika zamiast wartosci (ch == 32 vs *ch == 32) wlasciwie tez, bo ISO C++ nie pozwala na takie porownania, chyba ze uzyjesz -fpermissive lub odpowiednika i zignorujesz warning (co jest bardzo zla praktyka). Chodzi o zrozumienie tego, jak kod dziala. Otwieranie w trybie r+w (brak znajomosci trybow fopen to jedno, otwieranie do zapisu, gdy tylko czyta sie plik, to drugie), seek do SEEK_END (gdy zamierzasz czytac od poczatku), wycieki pamieci (pamiec przydzielona przez new, ktora potem sobie wisi - tu az prosi sie o uzycie smartpointera), czy brak zrozumienia, kiedy dokladnie feof() zwraca niezero, to juz powazniejsze rzeczy... -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ] Wysłano z telefonu bez polskiej klawiatury, przepraszam za brak polskich znaków
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Mon, 01 May 2017 00:45
Date: Mon, 01 May 2017 00:45
15 lines
2309 bytes
2309 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Drobny błąd do wychwycenia w pierwszym teście. Niekoniecznie. fread() zwroci Ci zero, ale mozna zalozyc, ze nie ruszy pamieci, a Ty nie sprawdzasz wyniku fread(), wiec bedziesz mial o jeden przebieg petli (z falszywymi danymi) wiecej. Program sie nie wysypie, zwroci po prostu zle dane. W tym przypadku to do wychwycenia od razu przez unit test, ale w innych niekoniecznie. -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ] Wysłano z telefonu bez polskiej klawiatury, przepraszam za brak polskich znaków
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Mon, 01 May 2017 08:51
Date: Mon, 01 May 2017 08:51
1 lines
2075 bytes
2075 bytes
Być może rozumuje zbyt ogólnikowo, te błedy o których piszesz są dla mnie błędami szczegółowymi które wyeliminuje w pierwszej godzinie testowania, cała koncepcja jest prosta jak konstrukcja cepa i nie wiem jak trzeba by wydziwiać żeby napisać to inaczej, można to napisać na stream'ach albo wczytywać linie, według mnie ten sposób jest dobry.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Tomasz Kaczanowski
Date: Tue, 02 May 2017 05:50
Date: Tue, 02 May 2017 05:50
14 lines
1866 bytes
1866 bytes
W dniu 2017-05-01 o 02:43, Adam Wysocki pisze: > Chodzi o zrozumienie tego, jak kod dziala. Otwieranie w trybie r+w (brak > znajomosci trybow fopen to jedno, otwieranie do zapisu, gdy tylko czyta > sie plik, to drugie), seek do SEEK_END (gdy zamierzasz czytac od > poczatku), wycieki pamieci (pamiec przydzielona przez new, ktora potem > sobie wisi - tu az prosi sie o uzycie smartpointera) tu prosi sie o użycie zwykłego char a nie dynamicznie alokowanego jednego znaku... To jest bez sensu. Kaczus -- http://kaczus.ppa.pl http://kaczanowska.info
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Tue, 02 May 2017 10:19
Date: Tue, 02 May 2017 10:19
1 lines
1852 bytes
1852 bytes
Nie wiem co mam ci napisać. Ja programuje dynamicznie ty statycznie, pasuje?
Re: need a program that will print a percent of code in tehe exe/dll
Author: Tomasz Kaczanowski
Date: Tue, 02 May 2017 11:05
Date: Tue, 02 May 2017 11:05
11 lines
1647 bytes
1647 bytes
W dniu 2017-05-02 o 12:19, Przemek Biernat pisze: > Nie wiem co mam ci napisać. Ja programuje dynamicznie ty statycznie, pasuje? > co w char *ch = new char[1]; jest dynamicznego? -- http://kaczus.ppa.pl http://kaczanowska.info
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Tue, 02 May 2017 11:34
Date: Tue, 02 May 2017 11:34
1 lines
2187 bytes
2187 bytes
Jeżeli masz mnie za idiote to nie będę tego zmieniał, niech tak pozostanie. Odpowiadając na twoje pytanie, najpierw wlałem wodę do butelki ty zadajesz pytanie po co wlałeś wodę do butelki, ja odpowiadam bo wlałem bo lubie wlewać wodę do butelki, a ty na końcu pytasz co to jest "wlewanie wody do butelki".
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Tue, 02 May 2017 12:42
Date: Tue, 02 May 2017 12:42
12 lines
2080 bytes
2080 bytes
Tomasz Kaczanowski <kaczus@poczta.onet.pl> wrote: > tu prosi sie o użycie zwykłego char a nie dynamicznie alokowanego > jednego znaku... To jest bez sensu. Tak, napisalem to 3 posty temu :) -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ] Wysłano z telefonu bez polskiej klawiatury, przepraszam za brak polskich znaków
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Tue, 02 May 2017 12:43
Date: Tue, 02 May 2017 12:43
16 lines
2423 bytes
2423 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Nie wiem co mam ci napisać. Ja programuje dynamicznie ty statycznie, > pasuje? Konstrukcji jezyka uzywa sie zaleznie od celu, jaki chce sie osiagnac. Jaka przewage ma alokowanie ch przez new na stercie zamiast uzycia zwyklej zmiennej, alokowanej na stosie? Co sprawilo ze wybrales wlasnie taka konstrukcje? Podejrzewam ze fakt przekazania zmiennej jako bufora do fread, ale czemu nie uzyles po prostu &ch w fread? -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ] Wysłano z telefonu bez polskiej klawiatury, przepraszam za brak polskich znaków
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Tue, 02 May 2017 13:06
Date: Tue, 02 May 2017 13:06
1 lines
1842 bytes
1842 bytes
Z przyzwyczajenia, zwykle używam dynamicznych buforów do serializacji, dlatego że dane są dynamiczne.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Tue, 02 May 2017 13:16
Date: Tue, 02 May 2017 13:16
1 lines
1985 bytes
1985 bytes
Uważasz że do jednego celu jest jedyna słuszna konstrukcja? Bzudura. Problemy można rozwiązywać na wiele sposobów. Tutaj chciałem użyć referencji na char, nie byłem pewny czy zadziała.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Wed, 03 May 2017 15:21
Date: Wed, 03 May 2017 15:21
19 lines
2753 bytes
2753 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Uważasz że do jednego celu jest jedyna słuszna konstrukcja? Absolutnie tak nie uważam, dlatego spytałem, jaką przewagę ma, wg Ciebie, zastosowanie takiej konstrukcji nad zwykłym charem. Wadę widzę bardzo poważną - nie zwolniłeś tej pamięci i ona będzie tam sobie wisiała, aż program się zakończy (wtedy system posprząta). Za rok weźmiesz ten kod, przeniesiesz część do innej funkcji, wywołasz ją tysiące razy i będziesz się dziwił, że po paru dniach działania program się wywala... > Tutaj chciałem użyć referencji na char, nie byłem pewny czy zadziała. Dlaczego miałaby nie zadziałać i jaki miałby być mechanizm tego niedziałania? -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Wed, 03 May 2017 15:22
Date: Wed, 03 May 2017 15:22
17 lines
2581 bytes
2581 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Być może rozumuje zbyt ogólnikowo, te błedy o których piszesz są dla > mnie błędami szczegółowymi które wyeliminuje w pierwszej godzinie > testowania, cała koncepcja jest prosta jak konstrukcja cepa i nie wiem > jak trzeba by wydziwiać żeby napisać to inaczej, można to napisać na > stream'ach albo wczytywać linie, według mnie ten sposób jest dobry. Sam sposób - jako algorytm - dobry jak każdy inny, teraz to kwestia jego implementacji... a tak naprawdę, to Twojej reakcji na wskazanie błędów w kodzie. Nadmierna duma w przypadku programisty bywa zgubna. -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Wed, 03 May 2017 16:08
Date: Wed, 03 May 2017 16:08
1 lines
2192 bytes
2192 bytes
Brak zwolnienia bufora to błąd. Zwykle wyciekami zajmuje się jak juź wszystko znacznie działać. A dlaczego nie referencja, pewnie i działa, w dokumentacji jest void* nie wiem czy kompilator puści taką konwersję.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Wed, 03 May 2017 16:28
Date: Wed, 03 May 2017 16:28
3 lines
2639 bytes
2639 bytes
Dobra wiem, reaguje tak bo napisałem to w pare chwil i chyba nie powinienem wrzucać tutaj, poza tym mam ogromne problemy z dostępem do kompilatora, a obiecałem że zrobie, dlatego jestem wkurzony za tą falę krytyki na rozwiązanie które po kilku korektach nie byłoby takie złe. Co do dumy, to się zgodzę że czasem przeginam, ostatnio raczej ze względu na te elementy które działają, przepraszam działały bo wszystko straciłem. Ja po iluś tam latach wysłuchiwania krytyki i tłumaczeniu dlaczego moja wizja jest lepsza od innej, albo po prostu krytyki, mam tego dosyć tym bardziej gdy krytykują mnie osoby dobrych kilka lat młodsze i wszystkim wiadomo jakie mam problemy
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Thu, 04 May 2017 08:30
Date: Thu, 04 May 2017 08:30
24 lines
2594 bytes
2594 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Brak zwolnienia bufora to błąd. Zwykle wyciekami zajmuje się jak juź > wszystko znacznie działać. Pisałeś kiedyś coś większego? > A dlaczego nie referencja, pewnie i działa, w dokumentacji jest void* > nie wiem czy kompilator puści taką konwersję. Przecież przy zmiennych: char *pch; char ch; Zmienna pch jest tego samego typu, co &ch. Poza tym: http://www.learncpp.com/cpp-tutorial/613-void-pointers/ -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Thu, 04 May 2017 08:40
Date: Thu, 04 May 2017 08:40
3 lines
2149 bytes
2149 bytes
Pisałem coś większego. Co do char* ch praz &ch, nie dyskutuje, to jest to samo
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Thu, 04 May 2017 13:34
Date: Thu, 04 May 2017 13:34
36 lines
3288 bytes
3288 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Dobra wiem, reaguje tak bo napisałem to w pare chwil i chyba nie > powinienem wrzucać tutaj, poza tym mam ogromne problemy z dostępem do > kompilatora, a obiecałem że zrobie, dlatego jestem wkurzony za tą falę > krytyki na rozwiązanie które po kilku korektach nie byłoby takie złe. Dla Ciebie to krytyka, dla mnie próba wskazania błędów, żeby wszyscy na tym zyskali. Czemu nie masz dostępu do kompilatora? > Co do dumy, to się zgodzę że czasem przeginam, ostatnio raczej ze > względu na te elementy które działają, przepraszam działały bo wszystko > straciłem. Mówi się, że ludzie dzielą się na tych, którzy robią backupy i na tych, którzy będą je robili :) > Ja po iluś tam latach wysłuchiwania krytyki i tłumaczeniu dlaczego moja > wizja jest lepsza od innej, albo po prostu krytyki, mam tego dosyć Dlatego staram się, żeby krytyka była konstruktywna. > tym bardziej gdy krytykują mnie osoby dobrych kilka lat młodsze Nie wiem ile masz lat i nie ma to dla mnie większego znaczenia. > i wszystkim wiadomo jakie mam problemy Nie mam bladego pojęcia o tym, że masz problemy ani tym bardziej jakiej są one natury... -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Thu, 04 May 2017 13:36
Date: Thu, 04 May 2017 13:36
19 lines
2781 bytes
2781 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Pisałem coś większego. Spytałem ze zdziwieniem, bo jeśli pojawiają się w kodzie wycieki pamięci, to dobrze jest je łapać od razu - inaczej wraz ze wzrostem komplikacji projektu coraz trudniej się je wyłapuje... Ja tam doceniam RAII w C++ i staram się od początku pisać tak, żeby wycieków nie było (przy użyciu destruktorów, smart pointerów, czasem własnych deleterów do różnych specyficznych typów, itd). > Co do char* ch praz &ch, nie dyskutuje, to jest to samo No właśnie, więc pytanie czemu kompilator miałby nie przepuścić :) -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Thu, 04 May 2017 14:37
Date: Thu, 04 May 2017 14:37
1 lines
2466 bytes
2466 bytes
Wiem co to jest destruktor, wiem co to jest delete i czym różni się od delete[] wiem nawet co to jest inteligentny wskaźnik i jakie są rodzaje mniej więcej, bo ich nie stosuje, wiem po co jest słówko virtual przy destruktorze, nie wszystko wiem, używam okrojonego zestawu konstrukcji c c++, nie używam stl
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Thu, 04 May 2017 15:15
Date: Thu, 04 May 2017 15:15
9 lines
2378 bytes
2378 bytes
Na krytykę mam alergie, z tego względu że to co dla kogoś jest poważnym błedem dla mnie jest drobnostką do poprawienia w dwóch liniach, dużo gorsze są błędy projektowe. Nie mam dostępu do kompilatora, gdyż programując prowadziłem hulaszcze życie i nie dorobiłem się sprzętu, dodatkowo na komputerze z 2004 roku miałem linuksa i ktoś mi go zhackował, mam tylko konto gościa. Kod znalazł się. Z konstruktywną krytyką można dyskutować ale pochłania to dużo energii. Tak jestem chory, nie ważne na co.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Fri, 05 May 2017 10:01
Date: Fri, 05 May 2017 10:01
13 lines
2669 bytes
2669 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Wiem co to jest destruktor, wiem co to jest delete i czym różni się od > delete[] wiem nawet co to jest inteligentny wskaźnik i jakie są rodzaje > mniej więcej, bo ich nie stosuje, wiem po co jest słówko virtual przy > destruktorze, nie wszystko wiem, używam okrojonego zestawu konstrukcji c > c++, nie używam stl Hm, z ciekawości - czemu nie używasz? -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Adam Wysocki
Date: Fri, 05 May 2017 10:05
Date: Fri, 05 May 2017 10:05
35 lines
3331 bytes
3331 bytes
Przemek Biernat <biernat.przemyslaw@gmail.com> wrote: > Na krytykę mam alergie, z tego względu że to co dla kogoś jest poważnym > błedem dla mnie jest drobnostką do poprawienia w dwóch liniach, dużo > gorsze są błędy projektowe. Tak, błędy projektowe to inna kategoria, zwykle bardziej katastrofalna w skutkach niż błąd, który można poprawić w dwóch liniach. Ale nie lekceważmy żadnych błędów. > Nie mam dostępu do kompilatora, gdyż programując prowadziłem hulaszcze > życie i nie dorobiłem się sprzętu, dodatkowo na komputerze z 2004 roku > miałem linuksa i ktoś mi go zhackował, mam tylko konto gościa. Jak masz dostęp do linii poleceń jądra (np. w bootloaderze Grub wciskasz bodajże 'E', nie pamiętam teraz z głowy), to możesz dodać parametr init=/bin/sh i przerzuci Cię do root shella. Potem coś w stylu: mount -o remount,rw / passwd (podajesz nowe hasło roota) mount -o remount,ro / exec /sbin/init > Z konstruktywną krytyką można dyskutować ale pochłania to dużo energii. Czy nie po to tu jesteśmy? > Tak jestem chory, nie ważne na co. Hmm, pisałeś że wszyscy powszechnie wiedzą, tylko dlatego spytałem. -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Fri, 05 May 2017 12:21
Date: Fri, 05 May 2017 12:21
9 lines
2304 bytes
2304 bytes
> > mount -o remount,rw / > passwd > (podajesz nowe hasło roota) > mount -o remount,ro / > exec /sbin/init > Wielkie dzięki, przyda się na przyszłość, teraz zaorałem linuksa, i zainstalowałem winde którą miałem jeszcze kiedyś oryginalną. Do lina jeszcze wrócę. W zagadnieniach operacyjno-administratorskich nie jestem biegły.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Fri, 05 May 2017 12:40
Date: Fri, 05 May 2017 12:40
13 lines
3702 bytes
3702 bytes
> > > Wiem co to jest destruktor, wiem co to jest delete i czym różni się od > > delete[] wiem nawet co to jest inteligentny wskaźnik i jakie są rodzaje > > mniej więcej, bo ich nie stosuje, wiem po co jest słówko virtual przy > > destruktorze, nie wszystko wiem, używam okrojonego zestawu konstrukcji c > > c++, nie używam stl > > Hm, z ciekawości - czemu nie używasz? > STL nie jest taki zły, ale był czas kiedy nie mogłem skorzystać z STL z powodów technicznych: stary komputer, windows xp, code::blocks z brakiem dostępu do internetu. Jak zwykle był problem z podstawowymi kontenerami. Nie wiele myśląc podjąłem decyzję że napiszę własną bibliotekę którą nazwałem mystl, później zmieniłem na mysl a teraz chce zmienić na misl, to tylko kwestia namespace'a. Zaletą rozwiązania jest to że wiem jak działa, jestem wstanie dopasować elementy do oczekiwań i jest względnie lekka. Co zrobiłem jeszcze nie będę opowiadał bo ostatnio przeczytałem mądrą sentencję że pisarze którzy dumnie opowiadali o swoich dziełach nic wartościowego nie napisali przez całe życie. Aha na koniec dodam że jak już mam swoje misl to po co używać STL. Tam w misl to jeszcze sporo brakuje szczególnie jeżeli chodzi o algorytmy.
Re: need a program that will print a percent of code in tehe exe/dll
Author: Marek Borowski
Date: Sun, 07 May 2017 16:47
Date: Sun, 07 May 2017 16:47
12 lines
2208 bytes
2208 bytes
On 02/05/17 15:16, Przemek Biernat wrote: > Uważasz że do jednego celu jest jedyna słuszna konstrukcja? Bzudura. Problemy można rozwiązywać na wiele sposobów. Tutaj chciałem użyć referencji na char, nie byłem pewny czy zadziała. > No nie wytrzymam. Oczywiście, że można rozwiązywać na wiele sposobów ale w konkretnej sytuacji przeważnie jeden z jakiś powodów jest najlepszy. Zamiast się pokornie przyznać ze popełnileś błędy (mniejsza o to czy wynikają z olewactwa czy z niewiedzy) to idziesz z zaparte. Wygląda na to też ze mylisz referecje z operatorem &, bo chyba nie chcesz przekazywac referencji do funkcji która oczekuje wskażnika :-). Pozdrawiam Marek
Re: need a program that will print a percent of code in tehe exe/dll
Author: Przemek Biernat
Date: Tue, 09 May 2017 19:10
Date: Tue, 09 May 2017 19:10
5 lines
2123 bytes
2123 bytes
Do błędów sie przyznałem. Nie myle referencji ze wskaźnikiem w sensie rozumienia, być może mam problem żeby coś dobrze określić Chce przekazać pointer na zmienna char pobrany za pomocą operatora &
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads