728x90
반응형

우분투 17부터 네트워크 설정이 변경 되었음.

netplan을 사용 하도록 변경.

맨 처음 설치시에는 dhcp가 적용 되어 있음. 본인은 static으로 변경하기 위하여 네트워크 설정을 하도록 함.

cd /etc/netplan

sudo vi 01-netcfg.yaml

  01-netcfg.yaml 화면

위에 처럼 변경 후 적용.

적용 방법.

netplan apply

 

버추얼 박스를 통하여 가상머신으로 동작을 시키기 때문에 해당 가상머신에 대한 네트워크 설정은 아래와 같이 하였음.

어댑터1 

 

어댑터2

 

 

 

728x90
728x90
반응형

hg clone 하여 repository에서 파일을 받으려 하는데 에러가 발생.

에러 내용은.

파일 사이즈가 커서 발생되는 오류로 예상.

 

해결방법

순서대로 작업 

1. vi ~/.hgrc

2. [extension]

2-1. largefiles =

3. [largefiles]

3-1. minsize = 10

4. 저장 후 종료.

ps) 그대로 순서대로 그냥 적으면 됨.

 

이후 다시 hg clone 하면 정상적으로 다운 로드 완료.

728x90
728x90
반응형

간단한 성적 관리 프로그램을 만들어 보았습니다.

내 학점을 계산하기  귀찮거나 그럴경우 이용하시면 괜찮을 것 같습니다.

 

grade.h

 

#include<stdio.h>
#include<stdlib.h>

#define A_PLUS 4.5
#define A   4
#define B_PLUS 3.5
#define B   3
#define C_PLUS 2.5
#define C   2
#define D_PLUS 1.5
#define D      1
#define F   0

#define MAX 10

typedef struct Grade
{
 double num;
 double total;

}GRADE;

void calc(int,int,GRADE *ga);

 

 

calc.c

 


void calc(int in1,int in2, GRADE *ga)

 
 switch(in2)  //성적번호입력
 {  
 case 1:
  ga[in1].num = A_PLUS;  //for문 안의 i값을 넘겨준다.
  break;
 case 2:
  ga[in1].num = A;
  break;
 case 3:
  ga[in1].num = B_PLUS;
  break;
 case 4:
  ga[in1].num = B;
  break;
 case 5:
  ga[in1].num = C_PLUS;
  break;
 case 6:
  ga[in1].num = C;
  break;
 case 7:
  ga[in1].num = D_PLUS;
  break; 
 case 8:
  ga[in1].num = D;
  break;
 case 9:
  ga[in1].num = F;
  break;
 }

  
}

 

main.c

 


void main()
{
 GRADE ga[MAX];

 int in;   //수강 학점입력
 int in_2;  //성적입력
 int in_3;  //해당 학점입력
 int in_4;  //총 수강 학점 입력
 int i;
 double result = 0;

 printf("----학점 계산 프로그램----\n");
 printf("총 몇과목 수강 하셧습니까? ");
 scanf("%d",&in);

 for(i=0;i<in;i++)
 {
  printf("성적 입력 하세요\n");
  printf("1.A+ 2.A 3.B+ 4.B 5.C+ 6.C 7.D+ 8.D 9.F\n");
  scanf("%d",&in_2);

  printf("몇학점 입니까 : ");
  scanf("%d",&in_3);
  calc( i, in_2, ga); 
 }

 printf("총 수강 학점을 입력 하세요 : ");
 scanf("%d",&in_4);

 for(i=0;i<in;i++)
 {
  ga[i].total = ga[i].num * in_3;
  result += ga[i].total;
 }
 
 printf("총점 : %0.2lf",result/in_4);

 printf("\n");
}

728x90
728x90
반응형

오랜만에 복습 할겸.

리눅스에서 라이브러리를 만들어 보려고 합니다.

함수를 라이브러리화 시켜서 공류를 해서 각각에서 쓸수 있도록 하려고 합니다.

나중에 Makefile 이 더 익숙해지면 아마 더 편해 지겠지만

일단 하드하게 직접 만들어 보도록 하겠습니다.~

 


머 이순서는 크게 중요치 않는데요, 저는 일단 헤더파일은 하나 생성 해주었습니다.

func_test.h 파일을 생성해서 내가 정의할 함수를 헤더에서 선언을 해주었습니다.

 


자 그리고, func_test.c 파일을 만들어서

내가 헤더에서 선언한 함수를 정의 하도록 하겠습니다.

이렇게 간단하게 덧셈과 뺄셈으로 정의를 해서

메인 소스에서 func1 func2함수를 사용하도록 할겁니다.

그리고 오브젝트 파일을 먼저 만듭니다.

 


자 사용하기에 앞서 이제 라이브러리를 만들겁니다. 위에  정의한대로 라이브러리를 만들건데요,

위에 보이는 명령어대로 정적 라이브러리를 만듭니다.

옵션에 대해서는 man ar 를 해보시면 더욱 자세히 알 수 있습니다.

그리고, 여기서 중요한것 라이브러리 명이니다. 저는

libfunc.a 라고 했는데요, 내가 만들 라이브러리 명에서 lib 이거는 무조건 해주셔야

만들수가 있습니다. 자 그러면 libfunc.a 라는 라이브러리가 생성이 되었습니다.

 

 

 

그러면 이제 func_main.c 소스를 만들어서 내가 직접 제작한

라이브러리를 사용하도록 하겠습니다.

func_test.c 에 정의된 함수를 사용할건데요, 보시면 func1 func2라는 함수를 사용합니다.

만약에 라이브러리화를 시키지 않았다면 오류가 발생하겠죠??

func_test.c가 선언된 헤더파일을 추가해주시고 프로그래밍 하시면 되겠습니다.

 


자 그리고 실행파일을 만들도록 하겠습니다. 위에 보이는 명령어 되로 실행하시면되겠고,

-L./ -lfunc :현재 경로에서 라이브러리를 추가한다는 것입니다.

만들때는 libfunc.a 라고 했지요? 명령어를 사용하여 최종 만들때는 lib -> l로 변경하여 이렇게 추가 해주시면 됩니다.

 

그리고 실행을 해보시면 결과값이 출력이 됩니다.

 

이상 포스팅을 마치겠습니다^^

728x90

+ Recent posts