일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c#
- docker
- 포인터
- 플러터
- dart 언어
- Flutter
- 유니티
- gitlab
- Data Structure
- c# 윈폼
- 구조체
- C++
- 깃
- vim
- Houdini
- c언어
- Python
- 다트 언어
- github
- C# delegate
- jupyter
- Algorithm
- 도커
- jupyter lab
- HTML
- Unity
- git
- c# winform
- C언어 포인터
- c# 추상 클래스
- Today
- Total
목록Programming/Tools (2)
nomad-programmer
gcc는 매우 많은 기능을 갖고 있어서 만들어내는 코드를 매우 다양하게 제어할 수 있다. 최적화 gcc는 코드 성능을 아주 많이 높일 수 있다. 루프를 반복할때마다 변수에 값은 값을 대입하는 코드가 있으면 이런 코드를 루프 밖으로 빼낸다. 단지 몇 군데에서만 사용하는 작은 함수가 있다면 이 함수를 인라인 함수(Inline Function)로 바꾸고 호출하는 코드에 직접 집어 넣는다. 매우 다양한 최적화를 할 수 있지만, 대부분의 최적화 기능은 기본값으로는 해제되어 있다. 최적화하려면 컴파일하는 데 많은 시간이 걸리므로 코드를 개발하는 동안에는 컴파일 시간을 줄이기 위해 최적화 기능을 끄는 편이 좋다. 코드를 배포할 준비가 되면 여러 최적화 기능을 활성화하면 된다. 옵션 설명 -O gcc 명령에 -O 플래..
대규모의 복잡한 프로그램에서 버그를 찾으려면 정말 오랜 시간이 걸릴 수도 있다. 그래서 다양한 도구들을 이용하여 찾아내 수정해야 한다. 그 도구 중 valgrind를 소개한다. 리눅스 운영체제에서 사용하는 도구 중 "valgrind" 라는 것이 있다. 한마디로 메모리 누수를 검사하는 프로그램이다. valgrind 는 heap 영역에 할당된 데이터를 감시할 수 있다. 이 프로그램은 가짜 malloc() 함수를 구현해 작동한다. 여러분의 프로그램이 heap 메모리에 할당할 때 valgrind는 malloc()과 free() 함수에 대한 호출을 가로채 자신이 만든 버전을 실행한다. valgrind가 구현한 가짜 malloc()은 어느 코드가 호출하는지 어느 메모리가 할당되었는지 기록한다. 프로그램이 실행을 마..