Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Prog2
/
ell_feladat
/
Nem_OO
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1f73ca85
authored
Feb 24, 2019
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MEMTRACE
parent
e11a4f92
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
11 deletions
+22
-11
memtrace.h
+14
-11
nem_oo_teszt.cpp
+8
-0
No files found.
memtrace.h
View file @
1f73ca85
...
@@ -3,7 +3,7 @@ Memoriaszivargas-detektor
...
@@ -3,7 +3,7 @@ Memoriaszivargas-detektor
Keszitette: Peregi Tamas, BME IIT, 2011
Keszitette: Peregi Tamas, BME IIT, 2011
petamas@iit.bme.hu
petamas@iit.bme.hu
Kanari: Szeberenyi Imre, 2013.,
Kanari: Szeberenyi Imre, 2013.,
VS 2012: Szebernyi Imre, 2015.,
VS 2012: Szeber
é
nyi Imre, 2015.,
mem_dump: 2016.
mem_dump: 2016.
inclue-ok: 2017., 2018.
inclue-ok: 2017., 2018.
*********************************/
*********************************/
...
@@ -13,7 +13,7 @@ inclue-ok: 2017., 2018.
...
@@ -13,7 +13,7 @@ inclue-ok: 2017., 2018.
#if defined(MEMTRACE)
#if defined(MEMTRACE)
/*ha defini
lva van, akkor a hibakat ebbe a fajlba rja, egy
bkent stderr-re*/
/*ha defini
álva van, akkor a hibakat ebbe a fajlba írja, egyé
bkent stderr-re*/
/*#define MEMTRACE_ERRFILE MEMTRACE.ERR*/
/*#define MEMTRACE_ERRFILE MEMTRACE.ERR*/
/*ha definialva van, akkor futas kozben lancolt listat epit. Javasolt a hasznalata*/
/*ha definialva van, akkor futas kozben lancolt listat epit. Javasolt a hasznalata*/
...
@@ -71,25 +71,25 @@ inclue-ok: 2017., 2018.
...
@@ -71,25 +71,25 @@ inclue-ok: 2017., 2018.
#define TRACEC(func) func
#define TRACEC(func) func
#endif
#endif
// THROW deklar
ci v
ltozatai
// THROW deklar
áció vá
ltozatai
#if defined(_MSC_VER)
#if defined(_MSC_VER)
// VS rosszul kezeli az __cplusplus makrot
// VS rosszul kezeli az __cplusplus makrot
#if _MSC_VER < 1900
#if _MSC_VER < 1900
// * nem biztos, hogy j
gy *
// * nem biztos, hogy j
ó í
gy *
#define THROW_BADALLOC
#define THROW_BADALLOC
#define THROW_NOTHING
#define THROW_NOTHING
#else
#else
// C++11 vagy jabb
// C++11 vagy
ú
jabb
#define THROW_BADALLOC noexcept(false)
#define THROW_BADALLOC noexcept(false)
#define THROW_NOTHING noexcept
#define THROW_NOTHING noexcept
#endif
#endif
#else
#else
#if __cplusplus < 201103L
#if __cplusplus < 201103L
// C++2003 vagy rgebbi
// C++2003 vagy r
é
gebbi
#define THROW_BADALLOC throw (std::bad_alloc)
#define THROW_BADALLOC throw (std::bad_alloc)
#define THROW_NOTHING throw ()
#define THROW_NOTHING throw ()
#else
#else
// C++11 vagy jabb
// C++11 vagy
ú
jabb
#define THROW_BADALLOC noexcept(false)
#define THROW_BADALLOC noexcept(false)
#define THROW_NOTHING noexcept
#define THROW_NOTHING noexcept
#endif
#endif
...
@@ -144,9 +144,9 @@ END_NAMESPACE
...
@@ -144,9 +144,9 @@ END_NAMESPACE
#include <stdlib.h>
#include <stdlib.h>
#ifdef __cplusplus
#ifdef __cplusplus
#include <iostream>
#include <iostream>
/* ide gy
jtjk a nemtrace-vel sszeakad headereket, hogy el
bb legyenek */
/* ide gy
ûjtjük a nemtrace-vel összeakadó headereket, hogy elõ
bb legyenek */
#include <fstream> // VS 2013 headerj
ben van deleted definici
#include <fstream> // VS 2013 headerj
ében van deleted definició
#include <sstream>
#include <sstream>
#include <vector>
#include <vector>
#include <algorithm>
#include <algorithm>
...
@@ -197,7 +197,7 @@ void * operator new[](size_t size) THROW_BADALLOC;
...
@@ -197,7 +197,7 @@ void * operator new[](size_t size) THROW_BADALLOC;
void
operator
delete
(
void
*
p
)
THROW_NOTHING
;
void
operator
delete
(
void
*
p
)
THROW_NOTHING
;
void
operator
delete
[](
void
*
p
)
THROW_NOTHING
;
void
operator
delete
[](
void
*
p
)
THROW_NOTHING
;
/* Visual C++ 2012 miatt kell, mert h
klis, hogy nincs megfelel delete, br senki sem haszn
lja */
/* Visual C++ 2012 miatt kell, mert h
áklis, hogy nincs megfelelõ delete, bár senki sem haszná
lja */
void
operator
delete
(
void
*
p
,
int
,
const
char
*
)
THROW_NOTHING
;
void
operator
delete
(
void
*
p
,
int
,
const
char
*
)
THROW_NOTHING
;
void
operator
delete
[](
void
*
p
,
int
,
const
char
*
)
THROW_NOTHING
;
void
operator
delete
[](
void
*
p
,
int
,
const
char
*
)
THROW_NOTHING
;
...
@@ -212,5 +212,8 @@ void operator delete[](void *p, int, const char *) THROW_NOTHING;
...
@@ -212,5 +212,8 @@ void operator delete[](void *p, int, const char *) THROW_NOTHING;
#endif
/*MEMTRACE_CPP*/
#endif
/*MEMTRACE_CPP*/
#endif
/*FROM_MEMTRACE_CPP*/
#endif
/*FROM_MEMTRACE_CPP*/
#endif
/*MEMCHECK*/
#else
#pragma message ( "MEMTRACE NOT DEFINED" )
#endif
/*MEMTRACE*/
#endif
/*MEMTRACE_H*/
#endif
/*MEMTRACE_H*/
nem_oo_teszt.cpp
View file @
1f73ca85
...
@@ -104,14 +104,22 @@ int main() {
...
@@ -104,14 +104,22 @@ int main() {
/// kipróbáljuk a unique-ot
/// kipróbáljuk a unique-ot
char
test
[]
=
"ssszia C+++++ + !"
;
/// sok ismétlődő kar.
char
test
[]
=
"ssszia C+++++ + !"
;
/// sok ismétlődő kar.
#ifndef CPORTA
#ifndef CPORTA
#ifdef MEMTRACE
cout
<<
"
\n
test tomb tartalma a uniq hivasa elott
\n
"
;
cout
<<
"
\n
test tomb tartalma a uniq hivasa elott
\n
"
;
memtrace
::
mem_dump
(
&
test
,
sizeof
(
test
));
memtrace
::
mem_dump
(
&
test
,
sizeof
(
test
));
#else
cout
<<
"
\n
Nincs definialva a MEMTRACE"
#endif // MEMTRACE
#endif // CPORTA
#endif // CPORTA
cout
<<
test
<<
endl
;
cout
<<
test
<<
endl
;
char
*
p
=
sajat
::
unique
(
test
,
test
+
strlen
(
test
));
char
*
p
=
sajat
::
unique
(
test
,
test
+
strlen
(
test
));
#ifndef CPORTA
#ifndef CPORTA
#ifdef MEMTRACE
cout
<<
"
\n
uniq hivasa utan p: "
<<
(
void
*
)
p
<<
endl
;
cout
<<
"
\n
uniq hivasa utan p: "
<<
(
void
*
)
p
<<
endl
;
memtrace
::
mem_dump
(
&
test
,
sizeof
(
test
));
/// Segit megfigyelni a memóriatartalmat
memtrace
::
mem_dump
(
&
test
,
sizeof
(
test
));
/// Segit megfigyelni a memóriatartalmat
#else
cout
<<
"
\n
Nincs definialva a MEMTRACE"
#endif // MEMTRACE
#endif // CPORTA
#endif // CPORTA
*
p
=
0
;
/// p az új sorozat végére mutat
*
p
=
0
;
/// p az új sorozat végére mutat
cout
<<
test
<<
endl
;;
/// KIÍRÁS: szia C+ + !
cout
<<
test
<<
endl
;;
/// KIÍRÁS: szia C+ + !
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment