일 년 전 · 익명 님의 새로운 댓글
라이브러리 구조 설계
안녕하세요. 현재 경력2년차 C# 언어 사용중입니다. 개발환경은 VS2019, .net Framework4.7.2 입니다. 코드의 재사용성을 높이고자 라이브러리 구조를 새로 설계하고있습니다. 사진처럼 각 솔루션을 생성하였고 그것을 기준으로 git 관리를 진행하고있습니다. 각 프로젝트는 C# 클래스 라이브러리입니다. 가장 기본이되는 common 내부에 c++ dll 이 존재하기 때문에 다른 솔루션들에서 사용시 기존프로젝트를 불러온 후 참조를 진행하고있습니다. 이 방식은 MyReleaseProject를 빌드할 경우 자동으로 c++ dll도 복사가 된다는 장점이 존재합니다. 하지만 직접 참조를 진행해야하는 프로젝트들이 점점 많아지는 단점이 존재합니다. 선배 개발자님들께서는 이럴때 어떤식으로 설계를 진행하시는지 궁금합니다.
개발자
#c#
#library
답변 1
댓글 1
추천해요 2
조회 85
일 년 전 · 한진희 님의 질문
DLL은 어떤 과정을 통해 만들어지나요?
저도 한번은 만들어보고 싶은데 잘 모르겠네요 C++ /C 에서 사용자 정의 헤더파일(예: "name.h")은 어떻게 만드는지 아는데 동적 연결 라이브러리는 잘 모르겠네요
개발자
#c#
#dll
#c++
#c
답변 0
댓글 0
보충이 필요해요 4
조회 75
2년 전 · 박병석 님의 답변 업데이트
C언어 오류 수정 질문
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define NO_STD 5 #define NO_SUB 4 struct ICT { int num; char name[20]; int score[NO_SUB]; int sum; float arg; int no; float total; char grade; }; int main(void) { int i, j; struct ICT std[NO_STD]; for (i = 0; i < NO_STD; i++) { std[i].sum = 0; printf("학번을 입력하세요 :"); scanf_s("%d", &std[i].num); printf("이름을 입력하세요 :"); scanf_s("%s", &std[i].name, sizeof(std[i].name)); for (j = 0; j < NO_SUB; j++) { printf("%d번째 학생의 %d번째 과목 점수를 입력하세요 :", i + 1, j + 1); scanf_s("%d", &std[i].score[j]); std[i].sum += std[i].score[j]; } std[i].arg = (float)std[i].sum / NO_SUB; printf("결석을 입력하세요 :"); scanf_s("%d", &std[i].no); std[i].total = std[i].arg - std[i].no * 0.5; if (std[i].total > 89) { std[i].grade = 'A'; } else if (std[i].total > 79) { std[i].grade = 'B'; } else if (std[i].total > 69) { std[i].grade = 'C'; } else { std[i].grade = 'F'; } } printf("순서\t학번\t이름\t중간\t중간2\t중간3\t중간4\t합계\t평균\t결석\t최종\t학점\n"); for (i = 0; i < NO_STD; i++) { printf("%d\t%d\t%s\t", i + 1, std[i].num, std[i].name); for (j = 0; j < NO_SUB; j++) { printf("%d\t", std[i].score[j]); } printf("%3d\t%.2f\t%d\t%.2f\t%s\n", std[i].sum, std[i].arg, std[i].no, std[i].total, std[i].grade); } } 에서 F11.로 한단계씩 디버그하기를 하면은 다 잘되는데 마지막 printf에서 예외 발생(0x00007FFFCFBAAC87(ucrtbased.dll), 2차중간고사.exe): 0xC0000005: 0xFFFFFFFFFFFFFFFF 위치를 읽는 동안 액세스 위반이 발생했습니다.. 이라고 뜨면서 합계부터 출력이 안됩니다. 이거 혹시 어떻게 해결해야되는지 아시나요....
개발자
#c
#오류
#초보자
답변 2
댓글 1
조회 165
2년 전 · 정윤 님의 질문
C언어로 동적 라이브러리를 생성하고 싶습니다.
안녕하세요. 현재 대학교 3학년으로 재학 중인 학생 입니다. Java의 jna라는 라이브러리를 활용해서 윈도우의 밝기를 조절하는 기능을 구현할려고 찾아보고 있습니다. 구글링을 해보니 c언어를 컴파일해서 .dll(동적 라이브러리)파일을 만들어서 사용한다는데 이는 리눅스랑 VS로만 생성할 수 있는 건가요? C/C++로 하면 쉽게 접근할 수 있다는건 알지만 C/C++쪽 지식은 전무한 상태라 메인으로 배우는 자바로 만들어볼려고 하는 중 입니다. 전문가 분들의 도움이 필요합니다! 감사합니다.
개발자
#java
#jni
답변 0
댓글 0
조회 76