일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- STL
- 포인터
- poetry
- 문학
- HONEYMOON
- 필리핀
- 함수포인터
- 안드로이드
- Android
- java
- 시
- English
- generic algorithm
- 회계
- network
- 돈
- C/C++
- 프로그래밍
- 책
- 영화
- 사랑
- Joe Satriani
- english essay
- Programming
- radar
- 신혼여행
- english presentation
- 사진
- 영어
- 보라카이
- Today
- 2
- Total
- 771,911
목록Engineering/C/C++ (25)
Humaneer.net
부동 소수점(float, double) 타잎의 배열이나 stl 컨테이너의 값을 sum할 때 유의사항.루프를 돌면서 배열의 값을 다 더하는 것과 std::accumulate 의 결과가 다를경우가 발생할 수 있다.아래 링크를 통해 결과 확인이 가능하다.https://ideone.com/oBJVX8이것 때문에 디버깅 하느라 꽤나 애먹었음. -_-;그 이유는 accumulate의 3번째 인자인 init value의 형(type) 때문.http://stack..
struct stZero {}; int size = sizeof(struct stZero); C++ 컴파일러러로 컴파일을 한다고 했을 때, size의 값은 과연 얼마일까? ㅋㅋ 참고링크#1 : http://alones.kr/blog/750 참고링크#2 : http://minjang.egloos.com/2049827
브로드캐스트(Broadcast)와 관련된 모듈을 구현할 일이 있어 간만에 열혈강의 소켓 프로그래밍 책을 뒤졌다. 내용도 알차고 설명도 잘 되어있고, 실용적인 예제가 많은 좋은 책인 것 같다. 물론 IOCP나 Overapped IO같은 녀석들을 이용해 수백개 수천개의 클라이언트를 관리하는 서버 프로그래밍을 위해서는 좀더 심도 있는 책을 봐야겠지만, 뭐 기껏해야 20개 이내의 클라이언트가 연결될 서버에 거창한 테크닉따위는 필요없으니 .흐 그나..
디버깅이 어려운 이유는 간단하다. 사람들은 자기가 보고자 하는 것만 보기때문이다. 아는 것만 보려하기 때문이다. 코드의 에러를 예측할 때는 자기가 아는 만큼 안에서 예측을 하게 된다. 고로 경험과 지식, 그리고 이 것들을 지혜로 흡수한 사람은 당연히 디버깅을 잘한다. 결론 : 무식이 죄다. ㅋ /* blah blah blah ... ... ... */ BYTE* buf = new BYTE(14); /* blah blah ... .....
회사에 아는 선임분이 ARM 교육을 가셔서 부트 로더쪽 코딩으로 뭔가를 실습하는데, 잘 모르겠다고 메신저로 물어보시길 "C에서 특정 주소로 점프 하려면 우찌해야 하냐?" 참고로 부트로더의 역할을 내가 아는데로 간단하게 정리를 해보면 1. 뭔가를 한다 -_- (보통 시리얼 통신(rs-232,)을 통해 커널이미지를 정해진 주소에 다운로드 시키게 된다) 2. 특정 주소(커널 이미지의 시작점)로 점프를 한다. 3. 끝 -_- 역시 ...
눈컴파일 및 실시간 두뇌 실행을 해봅시다. 거두절미 하고 아래의 소스는 과연 실행이 잘 될까? #include <iostream> using namespace std; int main() { char str2[] = "abc"; str2[0] = 'A'; cout << str2 << endl; return 0; } 당연히 잘 된다. Abc라는 문자열이 화면에 출력된..
왜 C++ 와 C 가 함께 쓰기가 어려울까요 ? C++야 C에서 나왔으니까 당연히 두 언어는 함께 섞어 써도 아무런 문제가 없어야 되는거 아냐 ? 라고 생각하실지도 모르겠습니다. 그렇지만 C++와 C 를 섞어 쓰는 게 생각만큼 그리 쉽진 않습니다. 개선된 C로서 C++ 특징 중 하나가 함수 재정의(function override) 가 가능하다는 것이고, 이것을 처리하기 위해서는 함수 심볼명을 코드에 나온 그대로 생성하는 게 아니라 컴파일러..
통신관련 프로그래밍을 하다보면, 여러 장치간의 프로토콜을 정해야할 때가 있다. 패킷의 헤더를 정해야 할 것이고, 그 밖에 여러가지 것들, 그리고 데이터까지. 그런데 데이터의 길이가 가변적이라면? typedef unsigned int u32; typedef unsigned char u8; #pragma pack(1) typedef struct _packet_example { u32 op; u8 source; u8 dest; ..
#include <stdio.h> int main() { FILE* stream; int i = 0, j = 0, count = 0, number = 0, total = 0; if ((stream = fopen("./num.txt", "r")) == NULL) return -1; // 파일열기 실패 for (i = 0; fscanf(stream, "%d", &count) > 0; i++) ..