Przejdź do treści
Logo

kuling.pl

  • Główna
  • Arkdisk
  • Forum
  • Kontakt

Jesteś tutaj

Start » Informatyka » Programowanie » Narzędzia

Visual Studio 2005

Create projects easily with private MFC, ATL and CRT assemblies

published by Kuling on śr., 2011-06-15 13:48

http://www.codeproject.com/KB/cpp/PrivateAssemblyProjects.aspx

http://blog.m-ri.de/index.php/2011/04/14/bug-black-patchday-for-all-os-from-xp-and-later-3-mfc-8-0-vc-2005-or-mfc-9-0-vc-2008-linked-dynamically-to-the-mfc-may-not-find-the-mfc-language-dlls-after-installation-of-the-security-packs-d/

http://weblogs.asp.net/kennykerr/archive/2009/01/02/manifest-view-support-for-dlls.aspx

And optionally:

http://buffered.io/2008/05/17/resolving-side-by-side-configuration-issues/

http://blog.kalmbach-software.de/2008/05/03/howto-deploy-vc2008-apps-without-installing-vcredist_x86exe/

Kategorie: 
C++
Visual Studio 2005
Programowanie
Visual Studio 2008
Visual Studio 2010
  • Czytaj dalej wpis Create projects easily with private MFC, ATL and CRT assemblies
  • Blog
  • 93 odsłony

C++/aliasing/__restrict/cache misses - Ericson Memory Optimization

published by Kuling on pon., 2011-04-18 23:29

http://realtimecollisiondetection.net/pubs/GDC03_Ericson_Memory_Optimization.ppt

http://msdn.microsoft.com/en-us/library/5ft82fed%28VS.80%29.aspx

 

 

Kategorie: 
C++
Visual Studio 2005
Programowanie
  • Czytaj dalej wpis C++/aliasing/__restrict/cache misses - Ericson Memory Optimization
  • Blog
  • 117 odsłon

Heap fragmentation and Low-fragmentation Heap

published by Kuling on sob., 2010-11-13 19:07

1. Heap fragmentation

Fragmenting a heap is something I haven’t worried about for years. When you allocate and deallocate memory in certain patterns you can leave areas of unallocated memory stranded inamongst allocated memory. This can lead to the situation where you have, say, 10Mb of memory free, but yet an allocation for 256 bytes fails as although you have all this free memory, none if it is in a big enough continuous lump to give you your 256 bytes.

http://xania.org/200512/crt-heap-fragmentation-in-windows

2. Low-fragmentation heap definition 

The LFH is not a separate heap. Instead, it is a policy that applications can enable for their heaps. When the LFH is enabled, the system allocates memory in certain predetermined sizes. When an application requests a memory allocation from a heap that has the LFH enabled, the system allocates the smallest block of memory that is large enough to contain the requested size. The system does not use the LFH for allocations larger than 16 KB, whether or not the LFH is enabled.

Applications that benefit most from the LFH are multi-threaded applications that allocate memory frequently and use a variety of allocation sizes under 16 KB. However, not all applications benefit from the LFH. To assess the effects of enabling the LFH in your application, use performance profiling data.

http://msdn.microsoft.com/en-us/library/aa366750%28VS.85%29.aspx

3. What is the cause of fragmentation

Imagine, for concreteness, a program that allocates memory in a loop like this:

* p1 = alloc(128)
* p2 = alloc(128)
* free(p1)
* p3 = alloc(96)
* (Keep p2 and p3 allocated.)
* Repeat

Under the classical model, when the request for 96 bytes comes in, the memory manager sees that 128-byte block (formerly known as p1) and splits it into two parts, a 96-byte block and a 32-byte block. The 96-byte block becomes block p3, and the 32-byte block sits around waiting for somebody to ask for 32 bytes (which never happens).

http://blogs.msdn.com/b/oldnewthing/archive/2010/04/29/10004218.aspx?PageIndex=2

4. Low-fragmentation heap in Visual Studio 2010 and Windows Vista/7

Generally speaking, the low-fragmentation heap works pretty well for most classes of applications, and you should consider using it. (In fact, I'm told that the C runtime libraries have converted the default C runtime heap to be a low-fragmentation heap starting in Visual Studio 2010.)

http://blogs.msdn.com/b/oldnewthing/archive/2010/04/29/10004218.aspx

Starting with Windows Vista, the system uses the low-fragmentation heap (LFH) as needed to service memory allocation requests. Applications do not need to enable the LFH for their heaps.

http://msdn.microsoft.com/en-us/library/aa366750%28VS.85%29.aspx

http://www.89teen.com

Why the low fragmentation heap (LFH) mechanism may be disabled on some computers that are running Windows Server 2003, Windows XP, or Windows 2000
http://support.microsoft.com/kb/929136

Chris Valasek, Understanding the Low-Fragmentation Heap: From Allocation to Exploitation
http://www.blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Valasek
http://illmatics.com/Understanding_the_LFH.pdf


Kategorie: 
C++
Concurrency
Visual Studio 2005
Programowanie
Windows
  • Czytaj dalej wpis Heap fragmentation and Low-fragmentation Heap
  • Blog
  • 169 odsłon

Standing on the shoulders of the blue monster - Hardening Windows applications

published by Kuling on wt., 2010-08-10 13:28

Cytat:
Microsoft has implemented lots of useful functionality in Windows that they use in their own products. Many of these features can be used to enhance the security of third party applications, but not many developers or software architects know about them. This talk will detail some of the technical underpinnings of Windows features like UAC, IE protected mode and Terminal Serivces and show how they can be used to defend your own software from attack.
https://media.blackhat.com/bh-us-10/presentations/olleb/BlackHat-USA-2010-olleb-Hardening-Windows-Applications-slides.pdf http://www.blackhat.com/html/bh-us-10/bh-us-10-archives.html
Kategorie: 
Visual Studio 2003
C++
Visual Studio 2005
Programowanie
Visual Studio 2008
Windows
Visual Studio 2010
  • Czytaj dalej wpis Standing on the shoulders of the blue monster - Hardening Windows applications
  • Blog
  • 212 odsłon

Protecting Your Code with Visual C++ Defenses

published by Kuling on pon., 2010-07-26 12:30

  • Stack-Based Buffer Overrun Detection (/GS)
  • Safe Exception Handling (/SafeSEH)
  • DEP Compatibility (/NXCompat)
  • Image Randomization (/DynamicBase)
  • Safer Function Calls
  • C++ Operator::new
  • What if It Fails?

http://msdn.microsoft.com/en-us/magazine/cc337897.aspx

Kategorie: 
C++
Visual Studio 2005
  • Czytaj dalej wpis Protecting Your Code with Visual C++ Defenses
  • Blog
  • 163 odsłony

Debugging with Visual Studio 2005/2008: Remote Debugging

published by Kuling on wt., 2010-06-01 10:15

Świetny tutorial. Polecam.

http://www.cprogramming.com/tutorial/visual_studio_remote_debugging.html

Kategorie: 
Visual Studio 2005
Programowanie
Visual Studio 2008
  • Czytaj dalej wpis Debugging with Visual Studio 2005/2008: Remote Debugging
  • Blog
  • 196 odsłon

What happens if you allocate with vector "new[]" and free with scalar "delete"?

published by Kuling on wt., 2009-12-22 21:17

http://blogs.msdn.com/oldnewthing/archive/2004/02/04/67384.aspx

Kategorie: 
C++
Visual Studio 2005
Programowanie
  • Czytaj dalej wpis What happens if you allocate with vector "new[]" and free with scalar "delete"?
  • Blog
  • 237 odsłon

Retail code debugging

published by Kuling on wt., 2009-12-22 19:33

Cytat:
$vframe tells you the 'virtual frame pointer'. This is the memory address where you can find the stack frame. If the function has a true stack frame, memory will be layed out like the below table. $vframe is extremely helpful when retail debugging because it tells you where about on the stack to look for your local variables.

http://blogs.msdn.com/greggm/archive/2004/12/15/315673.aspx
 

Cytat:
The 32-bit x86 calling conventions

http://blogs.msdn.com/oldnewthing/archive/2004/01/08/48616.aspx

Cytat:
The following example shows the results of making a function call using various calling conventions. This example is based on the following function skeleton.

void MyFunc(char c, short s, int i, double f)
MyFunc ('x', 12, 8192, 2.7183);
http://msdn.microsoft.com/en-us/library/aa235596%28VS.60%29.aspx
 

Nice callstack frame.
http://blogs.msdn.com/oldnewthing/archive/2004/01/16/59415.aspx

Kategorie: 
C++
Visual Studio 2005
Programowanie
Visual Studio 2008
  • Czytaj dalej wpis Retail code debugging
  • Blog
  • 236 odsłon

debugging custom filters for unhandled exceptions

published by Kuling on pon., 2009-06-15 21:27

http://www.debuginfo.com/articles/debugfilters.html

Kategorie: 
C++
Visual Studio 2005
Programowanie
  • Czytaj dalej wpis debugging custom filters for unhandled exceptions
  • Blog
  • 272 odsłony

Intel® Parallel Amplifier

published by Kuling on czw., 2009-05-28 21:11

http://software.intel.com/en-us/intel-parallel-amplifier/

Kategorie: 
C++
Concurrency
Visual Studio 2005
Programowanie
Visual Studio 2008
  • Czytaj dalej wpis Intel® Parallel Amplifier
  • Blog
  • 219 odsłon

Strony

  • 1
  • 2
  • 3
  • 4
  • 5
  • następna ›
  • ostatnia »

Archiwum

  • Styczeń 2012 (7)
  • Grudzień 2011 (2)
  • Listopad 2011 (2)
  • Październik 2011 (2)
  • Wrzesień 2011 (3)
  • Sierpień 2011 (2)
  • Lipiec 2011 (3)
  • Czerwiec 2011 (1)
  • Kwiecień 2011 (4)
  • luty 2011 (1)
  • Styczeń 2011 (2)
  • Listopad 2010 (6)
  • Październik 2010 (5)
  • Sierpień 2010 (10)
  • Lipiec 2010 (3)
  • Czerwiec 2010 (2)
  • Maj 2010 (1)
  • Kwiecień 2010 (2)
  • luty 2010 (4)
  • Styczeń 2010 (5)
  • Grudzień 2009 (5)
  • Listopad 2009 (1)
  • Październik 2009 (4)
  • Wrzesień 2009 (6)
  • Sierpień 2009 (11)
  • Lipiec 2009 (23)
  • Czerwiec 2009 (14)
  • Maj 2009 (23)
  • Kwiecień 2009 (22)
  • Marzec 2009 (14)
  • luty 2009 (20)
  • Styczeń 2009 (14)
  • Grudzień 2008 (17)
  • Listopad 2008 (12)
  • Październik 2008 (10)
  • Wrzesień 2008 (4)
  • Lipiec 2008 (2)
  • Czerwiec 2008 (5)
  • Maj 2008 (5)
  • Kwiecień 2008 (9)
  • Marzec 2008 (9)
  • luty 2008 (30)
  • Styczeń 2008 (22)
  • Grudzień 2007 (15)
  • Listopad 2007 (19)
  • Październik 2007 (10)
  • Wrzesień 2007 (22)
  • Sierpień 2007 (21)
  • Lipiec 2007 (29)
  • Czerwiec 2007 (53)
  • Maj 2007 (61)
  • Kwiecień 2007 (14)
  • Marzec 2007 (5)
  • luty 2007 (4)
  • Styczeń 2007 (16)
  • Grudzień 2006 (69)
  • Listopad 2006 (15)
  • Wrzesień 2006 (25)
  • Sierpień 2006 (20)
  • Lipiec 2006 (10)
  • Czerwiec 2006 (10)
  • Maj 2006 (35)
  • Kwiecień 2006 (5)
  • Marzec 2006 (15)
  • luty 2006 (5)
  • Grudzień 2005 (10)
  • Listopad 2005 (15)
  • Sierpień 2005 (10)
  • Lipiec 2005 (20)
  • Czerwiec 2005 (30)
  • Maj 2005 (30)
  • Kwiecień 2005 (34)
  • Marzec 2005 (14)
  • luty 2005 (10)
  • Grudzień 2004 (30)
  • Listopad 2004 (48)
  • Październik 2004 (25)
  • Sierpień 2004 (18)
  • Lipiec 2004 (30)

Kategorie

  • Angielski (1)
    • FCE (0)
  • Dom (4)
    • Akwarium (3)
    • Kot (2)
  • Gry (11)
    • Counter Strike (8)
  • Informatyka (15)
    • Hardware (15)
      • Mój komputer (14)
    • Linux (0)
    • Programowanie (172)
      • C++ (134)
        • Concurrency (66)
        • Exceptions (14)
        • Templates (21)
      • Narzędzia (10)
        • Visual Studio 2003 (21)
        • Visual Studio 2005 (45)
        • Visual Studio 2008 (33)
        • Visual Studio 2010 (13)
      • PHP (9)
    • Windows (18)
  • Internet (10)
    • Drupal (18)
    • Linki (29)
  • Miejsca (2)
    • Poznań (3)
    • Sieradz (1)
    • Wrocław (12)
    • Zgorzelec (0)
  • Pieniądze (122)
    • Giełda (47)
    • Inwestowanie (66)
    • Mieszkanie (69)
  • Rodzina (14)
    • Magda (1)
  • Rozrywka (66)

Logowanie

  • Utwórz nowe konto
  • Prześlij nowe hasło
Theme provided by Danetsoft under GPL license from Danang Probo Sayekti