본문 바로가기
반응형

C++ Programming11

[C++] DLL 로드해서 사용하기 DLL 만들기(Visual Studio)최초 생성하면 아래 코드가 기본으로 있음.// dllmain.cpp : DLL 애플리케이션의 진입점을 정의합니다.#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_caprogram-developers-story.tistory.com이전 글에서 DLL 만드는 방법에 대한 소개가 있음. 이번 글에선 DLL 로드해서 함수 사용해볼거임. 개발 환경: C++ builder 11.3 컴포넌트 추가 어떻게 하는지는 생략하겠음. 버튼하나 만들어 줘야겠져? 코드 구현 Unit2.cpp//-------------.. 2024. 10. 23.
[C++] DLL 만들기(Visual Studio) 최초 생성하면 아래 코드가 기본으로 있음.// dllmain.cpp : DLL 애플리케이션의 진입점을 정의합니다.#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } .. 2024. 10. 23.
[C++] Map 공부 C++에서 std::map은 표준 라이브러리 컨테이너로, 키와 값의 쌍을 저장하며 키를 기준으로 정렬된 순서로 유지함 std::map은 빨리 찾을 수 있는 이진 탐색 트리(일반적으로 레드-블랙 트리)로 구현됨. 뭔말이냐? -> 키를 가지고 값을 찾아갈 수 있다 이거다.  std::map의 주요 특징키-값 쌍: 각 요소는 고유한 키와 그 키에 대응하는 값을 가짐자동 정렬: 요소들은 키를 기준으로 자동으로 정렬됨빠른 검색: 이진 탐색 트리를 사용하여 O(log n)의 시간 복잡도로 검색, 삽입, 삭제가 가능함 기본 사용법1. std::map 선언 및 초기화#include #include #include int main() { // 키: std::string, 값: int std::map tray_.. 2024. 7. 6.
[C++ Programming] 문자열 변환 c_str() 함수 결론: c_str() 함수는 주로 C++의 std::string 객체를 C 스타일의 null-terminated 문자열로 변환해야 할 때 사용함. C++의 문자열 라이브러리와 C의 문자열 함수들이 다르게 동작하기 때문인데 c_str()가 주로 사용되는 몇 가지 상황은 아래와 같음.  1. C 라이브러리 함수와의 호환성C++에서는 std::string 객체를 사용하지만, C 라이브러리 함수는 C 스타일 문자열을 요구함예를 들어, printf, strcmp, strcpy 같은 C 표준 라이브러리 함수들을 사용할 때 c_str()를 사용하여 std::string을 C 스타일 문자열로 변환 후 사용해야 되는거 ㅇㅇ#include #include #include int main() { std::string .. 2024. 7. 6.
[C++] Vector 공부 Vector는 #include 을 통해 사용 가능 std:: vector 이런식으로 쓸 수 있고using namespace std; 를 써주면 std 생략가능  1. String 형태의 Vector 를 초기에 10칸 "" 비어있는 값으로 초기화 해준 후 0,11,22~99까지의 값을 넣어준 후    iterator 개념을 통해 strcmp를 통해 vector 내부의 값을 찾는 형태임.  #include #include #define INIT_SIZE 10using namespace std;int main(){ vector tray_map(INIT_SIZE, ""); for (int i = 0; i c_str(), "66") == 0) { index = distance(tray_map.begin().. 2024. 7. 6.
[C++ Programming] Template을 사용한 Doubly Linked List 구현 #include template class Node { public: T data; Node* prev; Node* next; Node(T value) : data(value), prev(nullptr), next(nullptr) {} }; template class DoublyLinkedList { private: Node* head; Node* tail; public: DoublyLinkedList() : head(nullptr), tail(nullptr) {} void insertFront(T value) { Node* newNode = new Node(value); if (!head) { head = tail = newNode; } else { newNode->next = head; head->p.. 2024. 3. 17.
[C++] MFC에서 CString 사용 시 printf 값이 이상할 경우 해결 방법 void RFID_REGISTER::OnBnClickedOk() { CString strText=_T(""); m_Edit_Name.GetWindowText(strText); cout속성(ALT+F7)->고급->문자집합->멀티바이트로 바꿔주면 잘 출력된다. 설정 변경 후 출력하면 정상적으로 나온다. 2023. 10. 31.
[C++] visual studio와 maria db 연동 후 값 읽어오기 visual studio는 다운로드가 되어있는 상태라고 가정하고 maria db를 설치하겠습니다. download 눌러서 들어가고maria db 11.1.2 stable한 버전으로 받아줍니다버전은 변경 될 수도 있으니 뒤에 alpha, rc같은게 안붙은 버전 받아주시면 됩니다계속 쭉쭉 next~계속 쭉쭉 next~ 계속 쭉쭉 next~자 여기 중요한데 user id가 root이고 password를 설정해주는 과정입니다. 여기서 입력하는 패스워드는 나중에 visual studio cpp파일에서 작성하는 코드 안에도 들어가기 때문에 까먹으면 안됩니다next누르고 install 해줍니다. maria db가 깔렸다면이 프로그램을 실행시켜 줍니다.(관리자 권한으로 안하면 안되는 pc들도 있다고 피드백 받음) .. 2023. 10. 25.
반응형