함수 및 인자 명명법에 대한 고찰 1. 기본 함수 정의 우리가 처음 배우는 함수명은 대부분 다음과 같은 형태입니다: void foo();void boo(); 하지만 이러한 함수명은 그 목적과 기능을 전혀 알 수 없기 때문에 적절하지 않습니다. 함수가 어떤 동작을 수행하는지, 리턴 값이 무엇을 의미하는지 알 수 있도록 함수명을 명확하게 짓는 것이 필요합니다. 2. 리턴 값이 있는 함수 리턴 값을 사용하는 경우 함수명을 통해 그 역할을 더욱 명확하게 나타낼 수 있습니다: bool foo(); // 성공 또는 실패를 리턴LRESULT boo(); // 특정 결과 코드 리턴 3. 함수명..
32비트 모듈을 작성 할 때 급하거나 떄론 귀찮아서 inline __asm 을 이용하어 코딩을 한다.asm을 바로 쓸 수 있기에 해당 방식을 많이 사용한다. 하지만 이제 64비트 시대 아닌가!! 그리고 고객사에서 점점 64비트 전용 프로그램들을 지원하기 시작하면서 난관에 봉착하기에 이른다. 그것은 바로!!Microsoft Visual Studio 에서는 64bit 컴파일러에서 inline __asm 코드를 더이상 지원 하지 않는다!! 참고 : http://msdn.microsoft.com/en-us/library/wbk4z78b(VS.80).aspx그럼 이제 우리는 더 이상 asm을 사용할 수 없는것인가? 절대 그렇지 않다!! 분명한것은 인라인 어셈을 이용하지 못하도록 하고 있는것이지 asm을 사용하지 ..
C++ 함수 호출 규약 (calling conventions)은 함수 호출 시 함수 인자와 반환값을 처리하는 방식을 정의하는 규칙입니다. 호출 규약은 컴파일러와 링커가 일관되게 함수 호출을 처리하도록 합니다. 다음은 주요 호출 규약의 종류, 설명, 차이점, 예제 코드, 그리고 간단한 어셈블리 코드 예제입니다.1. cdecl (C Declaration)설명: 기본 C 호출 규약으로, 인자는 오른쪽에서 왼쪽으로 스택에 푸시됩니다. 함수 호출자가 스택을 정리합니다.장점:유연성: 가변 인수 함수에서 사용 가능.호출 규약의 일관성: C와 C++에서 많이 사용되어 표준화됨.디버깅 편리성: 호출자가 스택을 정리해 디버깅이 쉬움.int __cdecl add(int a, int b) { return a + b;}p..
구조체 초기화 및 동적 할당 초기화의 중요성 1. 구조체 및 동적 할당 초기화 프로그래머들은 구조체를 사용하고 동적으로 메모리를 할당할 때, 메모리를 초기화하는 다양한 방법을 사용합니다. 하지만 기본적으로 컴파일러가 자동으로 메모리를 초기화하지 않는다면, 다음과 같은 함수들을 사용하여 초기화 작업을 해야 합니다: ::ZeroMemory(메모리 주소, 크기) memset(메모리 주소, 값, 크기) 2. 코드 예시 struct Data{ int nData1; bool bData2;};Data *pData = new Data;// 메모리 초기화::ZeroMemory(pData, sizeof(Data));::memset..
CPU 점유율 제어와 Sleep() 함수 사용1. 과도한 반복문에는 Sleep()을 사용하자무한 반복문이나 자원을 많이 소모하는 루프에서는 Sleep()을 적절히 사용하여 CPU 자원의 독점을 방지해야 합니다. 그렇지 않으면 CPU를 과도하게 점유하게 되어 프로그램이 느려지거나 UI가 응답하지 않게 될 수 있습니다.2. Windows 프로그램의 멀티 스레드 환경Windows 환경에서 UI 스레드와 기능을 처리하는 다른 스레드는 자원을 공유하게 됩니다. 이때 특정 스레드가 CPU를 과도하게 사용하면 UI 스레드가 응답하지 않거나 프로그램이 멈출 수 있습니다. 예를 들어, 무한 반복문이 있는 코드에서 CPU 100% 점유가 발생할 수 있습니다.3. CPU 100% 점유 코드 예시#include "stdafx..
Woolim Choi (崔佑林)Gender: MaleOccupation: Programmer (Window Application, System)EducationJunghung High School (Bucheon, Gyeonggi)Period: March 2001 - February 2003Woosong University (Daejeon)Major: IT Management Information EngineeringPeriod: March 2003 - February 2010Major Activities and AwardsWoosong BIT Education Center Short Course (C, C++, STL, Data Structures)Period: September 2008 - Decem..
- Total
- Today
- Yesterday
- 블루버블
- C#.NET
- 티스토리챌린지
- 블루버블다이브팀
- 외돌개
- DLL
- Linux
- script
- 서귀포블루버블
- OpenSource
- 네트워크 정보
- 블루버블다이빙팀
- C# 고급 기술
- PowerShell
- C#
- Build
- C
- 암호화
- 서귀포
- 제주도
- 울릉도
- C++
- 패턴
- Windows
- 성산블루버블
- 현포다이브
- 스쿠버다이빙
- CMake
- 오블완
- 스쿠버 다이빙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |