티스토리 뷰
프로그램을 만들다 보면 외부 라이브러리(. lib )를 쓸 일이 종종 생긴다.
이런 것들은 보통 비주얼 스튜디오의 프로젝트 속성-링크 종속성 등을 이용해서 하는 경우가 많은데, 여기엔 한 가지 문제점이 있다.
이래저래 의외로 한 프로젝트에서 썼던 코드를 다른 프로젝트에서 재사용할 경우가 많은데, 코드를 작성할 당시에야 당연하게 알지만 한참 뒤에 과거의 프로젝트를 보면 과연 내가 이 프로젝트에서 외부 라이브러리를 사용하였는지 여부조차 기억나지 않는 경우가 매우 잦다.
하물며 썼다고 하더라도 과연 어떤 라이브러리가 내가 원하는 기능의 라이브러리인지는 매우 알기 어렵다. 프로젝트 속성에는 주석 따위가 당연히 존재하지 않으며, 바닐라 상태를 외우고 있지 않은 한 어떤 게 변경된 것인지 알기 어렵기 때문이다.
만약 이 프로젝트가 내가 만든 것이 아니라 누구에게 받은 것이라도 하다면? 문제는 심각해진다.
뭐 남에게 받은 거야 어쩔수 없다지만 내가 쓴 프로젝트를 헤매는 일은 가능하면 없길 바란다.
그래서 나는 가능하면 프로젝트 옵션을 쓰지 않고 코드만으로 해결하고 싶고, 다행히도 그것을 별로 불가능한 일이 아니다.
우리에게는 전처리기라는 좋은 방법이 있으니까.
// 원형 #pragma comment(comment type,"파일 이름이나 경로")
#pragma comment(lib,"psapi.lib")
위처럼 사용하면 lib를 추가하는 것이다. #include 보다 위에 쓰지 않으면 에러를 내뿜는 것에 주의하자.
물론 저 라이브러리는 지정된 위치에 들어있어야 하는 것은 당연하다.
하지만 적어도 내 생각에, 코드에 라이브러리 이름이 적혀있기만 해도 훨씬 이식할 때 편리할 것이라고 본다.
dll을 추가하거나 하는 방법도 있고. h도 전처리기로 추가할 수 있는 것으로 기억하는데(#include도 전처리기고) 그건 다음에 사용하게 될 때 추가하는 것으로 하자.
[출처] [C언어] 라이브러리 추가 전처리기|작성자 RedWings
'프로그래밍 > C,C++' 카테고리의 다른 글
int main(int argc, char* argv[]) (0) | 2019.09.14 |
---|---|
문자열 인코딩 개념정리 (0) | 2019.09.14 |
C++ 문자열을 정수로 (0) | 2019.07.29 |
C++ 문자열 공백 포함 입력받기 (0) | 2019.07.29 |
C++ 파일 입출력 2. (0) | 2019.07.29 |
- Total
- Today
- Yesterday
- cin.getline()
- 알고리즘
- web application server
- 웹 서버
- 정수
- 토이사이퍼
- 25083
- 백준
- getline()
- to_string
- C++
- 정수를 문자열로
- 커널
- ??!
- 단어의 개수
- boj
- 1152
- 쉘
- 데이터저장장치
- 자료구조
- toy cipher
- 네트워크결합스토리지
- stringstream
- Web Server
- 백준알고리즘
- 운영체제
- 트리만들기
- 파일입출력
- 문자열입력
- 웹 어플리케이션 서버
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |