Przejdź do treści
Logo

kuling.pl

  • Główna
  • Arkdisk
  • Forum
  • Kontakt

Jesteś tutaj

Start » Informatyka » Programowanie » Narzędzia

Visual Studio 2008

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
  • 134 odsłony

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
  • 242 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
  • 234 odsłony

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
  • 270 odsłon

C++, the volatile / memory barrier

published by Kuling on sob., 2009-06-20 19:59

Cytat:
The C and C++ standards do not address multiple threads (or multiple processors), and as such, the usefulness of volatile depends on the compiler and hardware. Although volatile guarantees that the reads and writes will happen in the exact order specified in the source code, the compiler may generate code which reorders a volatile read or write with non-volatile reads or writes, thus limiting its usefulness as an inter-thread flag or mutex. Moreover, you are not guaranteed that volatile reads and writes will be seen in the same order by other processors due to caching, meaning volatile variables may not even work as inter-thread flags or mutexes.

Some languages and compilers may provide sufficient facilities to implement functions which address both the compiler reordering and machine reordering issues. In Java version 1.5 (also known as version 5), the volatile keyword is now guaranteed to prevent certain hardware and compiler re-orderings, as part of the new Java Memory Model. The proposed C++ memory model does not use volatile, instead C++0x will include special atomic types and operations with semantics similar to those of volatile in the Java Memory Model.

http://en.wikipedia.org/wiki/Memory_barrier

Cytat:

The code you write is not necessarily executed in the order in which the instructions appear in the source.

Optimizing compilers, such as the Microsoft C compiler, sometimes eliminate or reorder read and write instructions if the optimizations do not break the logic of the routine being compiled. In addition, certain hardware architectures sometimes reorder read and write instructions to improve performance. Furthermore, on multiprocessor architectures, the sequence in which read and write operations are executed can appear different from the perspective of different processors.

Most of the time, reordering by the compiler or the hardware is completely invisible and has no effect on results other than generating them more efficiently. However, in a few situations, you must prevent or control reordering. The volatile keyword in C and the Windows synchronization mechanisms can ensure program order of execution in nearly all situations. In some rare instances, the executable code must contain memory barriers to prevent hardware reordering.

Complete information about compiler and hardware reordering and the use of memory barriers is now available in Multiprocessor Considerations for Kernel-Mode Drivers. This information expands on the information previously available in the paper "Memory Barriers in Kernel-Mode Drivers."

http://www.microsoft.com/whdc/driver/kernel/MPmem-barrier.mspx

Cytat:

If you look at the sample drivers shipped with the Windows DDK, you will see that volatile appears infrequently. In general, volatile is of limited use in driver code for the following reasons:
•    Using volatile prevents optimization only of the volatile variables themselves. It does not prevent optimizations of nonvolatile variables relative to volatile variables. For example, a write to a nonvolatile variable that precedes a read from a volatile variable in the source code might be moved to execute after the read.
•    Using volatile does not prevent the reordering of instructions by the processor hardware.
•    Using volatile correctly is not enough on a multiprocessor system to guarantee that all CPUs see memory accesses in the same order. 
Windows synchronization mechanisms are more useful in preventing all these potential problems.

http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/MP_issues.doc

Kategorie: 
C++
Concurrency
Programowanie
Visual Studio 2008
Visual Studio 2010
  • Czytaj dalej wpis C++, the volatile / memory barrier
  • Blog
  • 708 odsłon

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
  • 258 odsłon

Intel® Parallel Inspector

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

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

Kategorie: 
Concurrency
Visual Studio 2005
Programowanie
Visual Studio 2008
  • Czytaj dalej wpis Intel® Parallel Inspector
  • Blog
  • 281 odsłon

ASSERT do pliku

published by Kuling on pon., 2009-05-25 09:43

    HANDLE hLogFile;
    hLogFile = CreateFile("c:\\log.txt", GENERIC_WRITE,
    FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,
    FILE_ATTRIBUTE_NORMAL, NULL);
    _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
    _CrtSetReportFile(_CRT_ASSERT, hLogFile);

 

Kategorie: 
Visual Studio 2003
C++
Visual Studio 2005
Programowanie
Visual Studio 2008
  • Czytaj dalej wpis ASSERT do pliku
  • Blog
  • 334 odsłony

Break Free of Code Deadlocks in Critical Sections Under Windows

published by Kuling on pt., 2009-05-22 17:52

http://msdn.microsoft.com/en-us/magazine/cc164040.aspx
RTL_CRITICAL_SECTION
RTL_CRITICAL_SECTION_DEBUG

 

Kategorie: 
C++
Concurrency
Visual Studio 2005
Programowanie
Visual Studio 2008
  • Czytaj dalej wpis Break Free of Code Deadlocks in Critical Sections Under Windows
  • Blog
  • 295 odsłon

Tools - .NET Memory Profiler

published by Kuling on pon., 2009-05-18 10:18

Fajny tool do profilowania zużycia pamięci. Polecam.

http://memprofiler.com/

Parę screenshot'ów

http://memprofiler.com/screenshots.aspx

Kategorie: 
Visual Studio 2005
Programowanie
Visual Studio 2008
  • Czytaj dalej wpis Tools - .NET Memory Profiler
  • Blog
  • 302 odsłony

Strony

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

Archiwum

  • Kwiecień 2012 (1)
  • Marzec 2012 (1)
  • luty 2012 (1)
  • 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 (175)
      • 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