Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- go make new project
- 리눅스
- tldr
- 파이프 와이어
- 사회적거리두기
- barcode
- ssh-keygen
- TEE
- 자율주행
- awk
- go multifile manage
- linux
- CODE128
- 예제
- 자택근무
- linux go new project
- grep
- 명령어
- 리눅스 멀티미디어
- carla
- Go
- html5
- WebCam
- ssh-copy-id
- sudo
- MAN
- 유닉스
- 코로나바이러스
- go new project
- UNIX
Archives
- Today
- Total
힘내라 일처리
vala 알아보기 본문
반응형
안녕하세요?
일처리 못하는 놈입니다.
vala 는 조금 특별한 언어로 빌드를 하게되면 c언어를 생성한다는 특징이 있습니다.
물론 생성되는 소스코드가 순수 c로 생성 되지는 않고, glib의 GObject를 사용해서 구성되는 코드가 만들어집니다.
리눅스에서 개발을 할때는 glib라이브러리를 많이 사용하게 되는데 좀더 편한 방법을 찾다가 알게되었습니다.
아직 실무에서 사용은 해보지 못했다면 어느정도 공부해 본다면 나중에 도움이 많이 될듯 합니다.
https://wiki.gnome.org/Projects/Vala/Tutorial
공식 튜토리얼 문서는 위에서 확인할 수 있습니다.
여기서는 아주 간단한 예제를 한번 실행해 보겠습니다.
sudo apt install valac # vala 설치
hello.vala 파일을 만들어 줍니다.
void main(string[] args) {
print("Hello, world!\n");
}
valac hello.vala # 컴파일
./hello # 실행결과 > Hello, world!
valac hello.vala -C # c언어 소스코드 생성
이렇게 해서 생성된 hello.c파일을 열어보면
/* hello.c generated by valac 0.48.6, the Vala compiler
* generated from hello.vala, do not modify */
#include <stdlib.h>
#include <string.h>
#include <glib.h>
void _vala_main (gchar** args,
gint args_length1);
void
_vala_main (gchar** args,
gint args_length1)
{
g_print ("Hello, world!\n");
}
int
main (int argc,
char ** argv)
{
_vala_main (argv, argc);
return 0;
}
위와 같이 c언어 소스코드가 생성되는 것을 확인 할 수 있습니다.
이걸 gcc로 빌드를 해볼까요?
gcc hello.c `pkg-config --cflags --libs glib-2.0` -o hello_from_c
./hello_from_c # 실행 결과 > Hello, world!
별 문제 없이 빌드가 되고 실행도 되는걸 확인 할 수 있습니다.
사용하기 따라서 c언어에 사용할 수 있는 라이브러리를 만들 수 도 있다고 하니 활용성이 다양할거 같은데 더 많은 부분은 직접 공부해보고 새로 포스트를 남기도록 하겠습니다.
감사합니다.
반응형
'알아보기' 카테고리의 다른 글
벨로다인 라이다 / 라이다 동작원리 (0) | 2020.09.01 |
---|---|
리눅스 터미널에서 작업관리하기 / jobs / bg / fg (0) | 2020.08.26 |
더 나은 man : tldr 알아보기 (0) | 2020.07.23 |
unix/linux motd : message of the day - 로그인 메세지 추가하기 (0) | 2020.07.04 |
SU, SUDO 약자가 뭐지? su의 숨겨진 비밀 super user, substitute user, 리눅스 (0) | 2020.06.27 |
Comments