반응형

C언어 3

C언어 "Hello world!"

C언어를 처음 배우는 경우에는 그냥 아래와 같은 코드로부터 시작이 된다. - - - - - - - - - - include int main() { printf("Hello world!!"); return 0; } - - - - - - - - - - C언어를 제일 처음 시작하면 Hello world 부터 따라서 쳐 보곤 하는데, 이 구성은 1973년도 부터 시작이 되었다고 한다. https://ko.wikipedia.org/wiki/%22Hello,_World!%22_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8 "Hello, World!" 프로그램 - 위키백과, 우리 모두의 백과사전 펄로 작성된 GTK2기반 GUI 형태의 헬로 월드 프로그램 C언어로 만들어진 Hello World 프로..

Software/C언어 2021.08.30

Swift 에서 C의 매개변수로 값 넘기기

예전부터 TCP/IP를 C언어로 개발하다 보니 아직은 Swift가 어색하다. 그래서 SwiftUI의 프로젝트에서 브리지를 사용하여 C언어로 개발 된 함수를 불러 오기로 했다. 함수를 그냥 부르는 것 까지는 아무 문제 없이 되었는데, 다음과 같은 문제가 있었다. Swift 파일 안에 [let s = "Hello!!"] 가 있다고 하자, 변수 s 를 최종적으로 [void clientMain(char *inform)]에 넘기고 싶다. 따라서 "s" 를 "inform"으로 넘겨 줄 경우에 형 변환을 해야 된다. 어설프게 나마 다음과 같이 변환을 하였는데, var dataname: [CChar] = inform.cString(using: String.Encoding.utf8)! clientMain(&datanam..

Software/Swift 2021.02.26

C언어와 Swift를 이용한 TCP-IP 에서 발생한 문제

C언어로 다 짤때는 atoi로 int형 변환을 하든가 아니면 배열로 받아지니까 배열 범위를 지정해서 strcpy 같은 걸로 문자열 복사를 해서 데이터를 다루곤 했는데, Swift는 String[Int}로 문자 접근 자체가 안되는거 같더라. 따라서, 맥에서는 C언어로 짠 서버를 굴리고, 아이폰에서 클라이언트를 생성하여 데이터를 recv해서, 그 결과를 이용하여서 for문을 생성할려고 했는데 생각한 데로 잘 안된다. 처음부터 C언어로 개념이 잡혔었던 나에게 혼란이 와서 어떻게 하면 좋을까 자료를 많이 찾아봤다. 단순하게 Int() 를 쓰면 numPlace에 1이 들어갈 줄 알았는데 아래와 같이 nil이 들어간다. 따라서, 해결방법을 찾으려 계속 검색하다가 아래와 같은 방법으로 해결을 봤다. 책보고 진득하게 ..

Software/Swift 2020.03.24
반응형