본문 바로가기

C/C++

(21)
[Rust] 369게임 //three six nine. 369 game fn main() { for n in 1..100 { let mut cur_num: u32 = n; let mut clap_cnt: u32 = 0; while cur_num > 0 { let cur_x:u32 = cur_num % 10; clap_cnt += match cur_x { 3 | 6 | 9 => 1, _ => 0 }; cur_num /= 10; } if clap_cnt > 0 { for _c in 0..clap_cnt { print!("clap! "); } print!("\n"); } else { println!("{}", n); } } } 연습
[C#/.NET]FromHbitmap 메모리 누수 개인적으로 화면처리하는 프로그램을 자주 만드는 경험으로써 메모르누수는 언제나 큰 버그였다. 맘먹고 돌려보니 FromHbitmap에서 메모리누수가 일어나는걸 알 수 있었다. 검색해보니 이미 많은 방법이 있었고 그 중 하나를 인용하겠다. Image img = null; try { img = Image.FromHbitmap(hBitmap); }finally{ DeleteObject(hBitmap); img.Dispose(); } [DllImport("gdi32.dll", EntryPoint = "DeleteObject")] public static extern IntPtr DeleteObject(IntPtr hDc); 출저 : http://jianmingli.com/wp/?p=62
[C#]파일 Random Access 빠르게 읽기 (readbyte,read) [DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)] private static extern bool DeviceIoControl( SafeFileHandle hDevice, int dwIoControlCode, IntPtr InBuffer, int nInBufferSize, IntPtr OutBuffer, int nOutBufferSize, ref int pBytesReturned, [In] ref NativeOverlapped lpOverlapped ); static void MarkAsSparseFile(SafeFileHandle fileHandle) { int bytesReturned = 0; NativeOverlappe..
[.NET] UserControl이 ToolBox에 안보일때 Tools > Option > Windows Forms Designer 설정에서 AutoToolboxPopulate를 True로 설정하시면 ToolBox에 자동으로 추가됩니다. ^^
Simulated Annealing (담금질 기법) 영문 WIKI : http://en.wikipedia.org/wiki/Simulated_annealing한국 WIKI : http://ko.wikipedia.org/wiki/%EB%8B%B4%EA%B8%88%EC%A7%88_%EA%B8%B0%EB%B2%95 한국 WIKI에는 그다지 설명이 잘되어있지 않기 때문에 영문 WIKI를 참고하기를 바랍니다. 담금질 기법(Simulated Annealing, SA)은 전역 최적화 문제에 대한 일반적인 확률적 메타 알고리즘이다. 이 기법은 광대한 탐색 공간 안에서, 주어진 함수의 전역 최적해에 대한 좋은 근사를 준다. 커크패트릭, 젤라트, 베키가 1983년에 고안했다. 보통 영어를 그냥 읽어서 시뮬레이티드 어닐링이라고 부른다.담금질 기법이라는 말은 금속 공학의 담금질..
Quadratic Equation (2차 방정식) // ConsoleApplication1.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다. // #include #include using namespace std; class QuadraticEquation{ private: int a,b,c,temp; double res1,res2; bool isOne; public: QuadraticEquation(int _a,int _b,int _c); bool hasOneResult(void); double Result(int oth); }; QuadraticEquation::QuadraticEquation(int _a, int _b, int _c){ a = _a; b = _b; c = _c; } bool QuadraticEquation::hasOneR..
C#으로 Javascript Injection BHO 만들어보기. 이 포스트는 여기를 번역, 풀이하여 정리한 포스트입니다. - 일단 BHO는 무었인가 하면, IE에서 사용하는 추가기능(Add-on)입니다. 어떻게 보면 Toolbar라고 할 수 있습니다. BHO는 브라우저의 DocumentComplete, BeforeNavigate등.. Frame의 이벤트를 받을 수 있습니다. 이걸 이용해서, 모든 페이지나 특정 페이지에 Javascript를 inject하거나, 원하는 div를 삭제 등, 실질적으로 HTML이 렌더링 되어 보이기 전에 HTML의 내용을 변경 할 수 있습니다. 이 기능을 통해 imideo(http://www.imideo.com/) 기능 처럼 Javascript를 inject시켜서, 원하는 기능을 만들 수 있지요. 간단하게 C#으로 작성하는 법을 알려드리도록..
new 연산자를 가지는 클래스 만들어보기 #include "stdafx.h" #include #include #include using namespace std; class Memory{ private: string strData; string charData; string intData; public: void setData(void); string getData(void); }; void Memory::setData(void){ strData = " 스트링 데이터"; charData = "문자 데이터"; intData = "정수 데이터"; } string Memory::getData(void){ return (strData + charData + intData); } class UseMem{ private: Memory *memory; pu..