본문 바로가기

컴퓨터/C#15

[C#] ns(nano seconds) 나노 초 단위의 시스템 성능 측정 C# 코드 C#에서DateTime을 활용하면 ms 단위의 시간 밖에 측정 할 수 없다.하지만, StopWatch 의 CPU Ticks 값, CPU 주파수(System.Frequency) 을 이용하면 ns(나노 초 )단위로 시스템 성능을 측정할 수 있다. 예제 코드는 아래와 같다. StopWatch 를 이용한 ns 단위 시스템 성능 측정using System; using System.Threading; using System.Diagnostics; //StopWatch; class MainApp { static void Main(string[] args) { long StartTime, EndTime; Stopwatch SystemPerformanceWatch = new Stopwatch(); SystemPerfor.. 2013. 7. 24.
C#에서 C++ DLL 사용하기 C#에서 C++ DLL 사용하기C++ DLL return char *, C++ DLL 문자열 인자 전달 예제에서 사용된 DLL은 Unmanaged C++(관리되지 않은 C++)로 만들어졌다.예제에서는 Static DLL 호출 방법을 사용하였다.예제는 (Visual Studio 2012) 비주얼 스튜디오 2012에서 작성하였다. [새 프로젝트]-[Visual C++]-[Win32 프로젝트]솔루션이름 : JINGUDLL응용프로그램 종류 : DLL추가 옵션 : 빈 프로젝트 jingudll.cpp#include #include #include //LocalAlloc, LPTR #define EXPORTDLL extern "C" __declspec(dllexport) EXPORTDLL char* getMessag.. 2013. 6. 29.
[.NET] CLR(Common Language Runtime, 공통 언어 실행 환경) CLR : Common Language Runtime(공통 언어 실행 환경)CLR은 마이크로소프트가 Common Language Infrastructure (CLI) 표준을 토대로 구현한 것이며 .NET Framework에 있는 가상 머신 컴포넌트이다. .NET 환경에서 컴파일은 CLR 컴파일을 의미한다. JIT (Just In Time) 컴파일 : 실행에 필요한 코드를 실행할 때마다 실시간으로 네이티브 코드로 번역해서 사용한다..NET 컴파일러(== CLR 컴파일러)는 .NET 소스 코드를 읽어서 Intermediate Language라는 중간 언어로 된 파일을 만들어 냅니다.사용자가 이 파일을 시작하면 JIT가 Intermediate Language를 읽어들여서 네이티브 코드(원시 기계어)로 변역한 .. 2013. 6. 7.
[C#] lock 블럭 출처 : http://csharpstudy.com/Threads/lock.aspx아래 예제는 여러 개의 스레드가 Thread-Safe 하지 않은 메서드를 호출하는 예를 보여주고 있다. 10개의 스레드가 counter라는 필드를 동시에 쓰거나 읽는 샘프롤서 한 스레드가 counter변수를 변경하고 읽기 전에 다른 스레드가 다시 counter변수를 변경할 수 있기 때문에 불확실한 결과를 출력하게 된다. 예제using System; using System.Threading; namespace MultiThrdApp { class MyClass { private int counter = 1000; public void Run() { // 10개의 쓰레드가 동일 메서드 실행 for (int i = 0; i 2013. 6. 2.