일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- LG전자
- 비디오테이프
- 컬러버스터
- 비디오
- 8mm캠코더
- S-VHS
- 비디오믹서
- 레트로TV
- Digital8
- SQPB
- 소니
- 아날로그캠코더
- 소니만세
- 파나소닉
- 삼성전자
- 필립스
- 소니캠코더고장
- 캠코더
- 비디오변환
- HI8
- 비디오기기
- vcr
- Video8
- VHS
- 소니캠코더수리
- 브라운관TV
- 팩트체크
- 8mm
- 다이아몬드헤드
- 매크로비전
Archives
- Today
- Total
아무거나 적당히 운영되는 이상한 블로그
argv 쓰는 간단한 C언어 프로그램을 golang에 우겨넣는 방법 본문
http://www.cs.cmu.edu/~dst/VCRPlus+/vcrpp1.c
argv를 사용하는 간단한 C언어 프로그램인 G코드 (VHS 비디오테이프 녹화기에서 간단한 번호로 녹화를 설정할 수 있는 기능) 생성기를 간단하게 날먹하는 이야기입니다.
1. cgo 관련 설명은 생략합니다. 잘 소개할 자신이 없습니다.
int
main_c (int argc, char *argv[])
{
2. main 함수를 다른 이름으로 변경합니다. 여기서는 main_c 로 변경했습니다. 그리고 함수 선언 다음 줄에서 인수 선언을 해서 같은 줄에서 선언하도록 수정했습니다. (cgo는 같은 줄에서 선언하지 않으면 argument want가 비어버립니다)
else {
// printf ("%d\n", g_newspaper);
return (g_newspaper);
}
3. printf는 golang으로 전달 할 수 없으니 return을 사용하도록 변경합니다.
argv := make([]*C.char, 8)
argc := C.int(8)
argv[0] = C.CString("vcrpp1.exe")
argv[1] = C.CString("-e")
argv[2] = C.CString("-y 1999")
argv[3] = C.CString("-m 12")
argv[4] = C.CString("-d 31")
argv[5] = C.CString("-c 13")
argv[6] = C.CString("-t 0600")
argv[7] = C.CString("-l 30")
intdata := int(C.main_c(argc, &argv[0]))
4. 대충 이렇게 argv와 argc를 작성해줍니다.
'잡담' 카테고리의 다른 글
GO 언어에서 c언어 사용하는 여러가지 방법 (0) | 2022.05.30 |
---|---|
nginx rtmp 모듈로 hls 스트리밍 방송 해보기 (0) | 2022.05.06 |
MASPRO DT330 일본방송 디지털 지상파/BS/110CS 튜너 셋톱박스 (0) | 2021.12.01 |
메인 블로그 현재 상황 발표 (0) | 2021.10.23 |
한글날 한국 지상파 UHD 방송 로고 (0) | 2021.10.09 |
Comments