환경 : Ubuntu 18.04.4 LTS (Bionic Beaver) Server (64-bit)

환경 : Ubuntu 18.04.4 LTS (Bionic Beaver) Server (64-bit) 

#ubuntu 18.04.5 iptables 설정

#ubuntu 18.04.5 iptables 설정

 

1. 일단 IPtables를 이용하기 전에 UFW를 사용 중인 상태라면 UFW를 사용하지 않도록 처리합니다.
- UFW 비활성화
>ufw disable

 

2. 규칙추가 & 차단 & 삭제
- 포트 추가

>iptables -A INPUT -p tcp --dport 21 -j ACCEPT
>iptables -A INPUT -p tcp --dport 22 -j ACCEPT
>iptables -A INPUT -p tcp --dport 23 -j ACCEPT
>iptables -A INPUT -p tcp --dport 80 -j ACCEPT
>iptables -A INPUT -p tcp --dport 443 -j ACCEPT

- 포트 차단
>iptables -A INPUT -p tcp --dport 80 -j DROP
- 포트 차단 규칙 삭제
>iptables -D INPUT -p tcp --dport 80 -j DROP
- 세 번째 라인의 규칙 삭제
>iptables -D INPUT 3

 

3. IPtables 규칙 확인
>iptables --list
>iptables -L

 

4. 규칙 저장
>service iptables save

 

5. [ iptables-persistent 패키지 이용하기 ]
패키지 설치
>sudo apt-get install iptables-persistent netfilter-persistent
저장
>netfilter-persistent save
다시 로드
>netfilter-persistent start
위 저장 및 로드 명령어를 IPtables의 저장(Save) 명령 이후에 수행해주시면 됩니다. 
그러면 서버를 재부팅해도 그대로 IPtables 규칙 설정 정보가 남아 있습니다.

 

6. 방화벽 서비스 부팅 관련 명령
6.1 서비스 시작
>service iptables start
6.2 서비스 정지
>service iptables stop
6.3 서비스 재시작
>service iptables restart
6.4 서비스 저장
>service iptables save

 


텔넷과 xinetd를 설치합니다.

>apt-get install telnetd xinetd

설치가 완료되면 텔넷 설정을 위해서 gedit나 vi와 같은 편집기 툴로 
"/etc/xinetd.d/telnet" 파일을 만들어 줍니다. 파일이 열리면 아래 내용을 입력합니다.

>

service telnet
{
    disable         = no
    flags           = REUSE
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/sbin/in.telnetd
    log_on_failure  += USERID
}

>/etc/init.d/xinetd restart

서버에서 IP 확인

>ifconfig -a

텔넷클라이언트로 접속한다음에, 접속 에러가 난다면, 방화벽부분을 살펴봐야 한다.

#Ubuntu 18.04.5 LTS 파티션 수동설치

 

1.  swap(2,048)  -> 10,000 -> 20,000

2.  /boot(100)   ->  2,000 -> 4,000

2.  /boot/efi(100)   ->  2,000 -> 3,000

3.  /(3,072)     -> 12,000 -> 30,000

4.  /usr(8,192)  -> 70,000 -> 200,000

5.  /usr2(90,000)-> 90,000 -> 200,000

6.  /var(4,096)  -> 12,000 -> 30,000

7.  /tmp(4,096)  -> 12,000 -> 30,000

8.  /data(70,000)-> 70,000 -> 200,000

9.  /home(2,000) ->  2,000 -> 5,000

10. /web(나머지 부분을 할당, 체크) 

'리눅스 > Ubuntu 18.04.5 LTS' 카테고리의 다른 글

Ubuntu 18.04 root계정 사용하기  (0) 2021.04.06
Ubuntu 18.04 FTP 구축하기  (0) 2021.04.06
Ubuntu 18.04.5 iptables 설정  (0) 2021.04.06
Ubuntu 18.04 telnet 구축하기  (0) 2021.04.06
ubuntu server 18.04.3 lts iso download  (0) 2021.04.01

#증권정보홈페이지를 만들어보자(3)

 

#서버 Program Dir & File(백엔드)

 

1. batch

1.1 KseMast.c

1.2 KosdaqMast.c

1.3 KonexMast.c

1.4 ElwMast.c

1.5 FutureMast.c

1.6 OptionMast.c

1.7 DateTimeMast.c

 

2. rcv

2.1 RcvTData.c - TCP데이타 처리(인터넷)

2.2 RcvUdata.c - UDP데이타 처리(전용선)

2.3 ReadMData.c

2.4 R_Kse.c

2.5 R_Kosdaq.c

2.5 R_Konex.c

2.6 R_Elw.c

2.7 R_Future.c

2.8 R_Option.c

2.9 R_Jisu.c

 

3. manage

3.1 InsertMinJisu.c - 지수 1분시세(open,high,low,close,vol,amt,,,,,)

3.2 InsertMinSise.c - 종목 1분시세(open,high,low,close,vol,amt,,,,,)

3.3 CreateJisuCandle.c - 지수 Candle차트 데이타 생성

3.4 CreateSiseCandle.c - 종목 Candle차트 데이타 생성

 

4. view

 

5. shell

5.1 kill.sh

5.2 start.sh

5.3 main.sh - 정기적인 HTML을 생성(index.html, kse_totsise.html, kosdaq_totsise.html)

 

6. util

 

7. send

7.1 SendTData.c - TCP데이타 Simulation 전송

7.2 SendUData.c - UDP데이타 Simulation 전송

 

8. include

8.1 frame.h

8.2 define.h

8.3 packet.h

8.4 receive.h - 수신구조체

8.5 sise.h - 처리구조체

8.6 jisu.h - 처리구조체

8.7 shmop.h - Shared Memory 구조체

8.8 send.h - 데이타 Simulation 전송관련

#ubuntu server 18.04.3 lts iso download

 

releases.ubuntu.com/18.04/

 

 

#iso usb BOOT Image

 

jdh5202.tistory.com/571

 

iso 파일로 부팅 usb 만들기

ISO 이미지를 CD / DVD 또는 USB 드라이브로 만들어주는 ultraiso 프로그램을 설치한다. https://www.ultraiso.com/ usb를 장착하고 ultraiso 프로그램 메뉴 중에서 파일을 누른 후 굽고자 하는 iso를 선택한다...

jdh5202.tistory.com

 

 

CentOS 6.6 버젼을 최신하드웨어에 설치하면, 드라이버의 unsufficent 사태가 발생한다.

이를 위해서 네트웍이 안되는경우에 usb를 통해서 파일을 구해, 직접설치할경우에 아래의 내용이 필요하다.

rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

,,

,,

,,

,,

 

centos_rpm.sh
0.00MB

 

 

BIOS

 

BIOS는 PC에 전원을 켜고 Windows OS를 시작할 때까지 PC의 하드웨어 및 운영 체제(OS) 사이의 펌웨어 인터페이스입니다. BIOS(Basic Input / Output System: 바이오스)는 메인 보드의 ROM에 내장된 프로그램으로서(일명 ROM BIOS) 키보드, 마우스, CPU, 하드 디스크(HDD) 등의 하드웨어 장치를 초기화하여 제어하고 운영 체제(OS) 부팅에 바톤을 넘기는 연결 역할을 하는 펌웨어 인터페이스이다.

☞ 통상 BIOS는 레거시 BIOS라 호칭하고, BIOS의 후속 진화 버전은 UEFI(Unified Extentiable Firmware Interface)이다.

UEFI 당연히 기능상의 개선점이 있을텐데, 사용자가 체감하는 주요 내용은

1. 하드 디스크가 2TB를 초과한 경우도 가능함(GPT 파티션 적용)

2. 복수의 운영체제의 선택이 가능함(예, 윈도우7, 윈도우10, 리눅스, 맥OS 중에서 선택가능)

3. 부팅시 BIOS는 MBR이라는 특정섹터를 이용하지만, UEFI는 GPT 파티션으로 특정섹터를 지정하지 않음

*레거시 바이오스에서 부팅 절차는 하드디스크의 첫 섹터를 읽어서 첫섹터에 지시된 주소에 있는 실행코드를 실행하도록 바톤을 넘겨준다.

 

BIOS 기능

 

▼ BIOS의 주요 역할은 다음과 같습니다.

CPU와 주변 장치를 진단

CPU와 주변 장치를 활성화/비활성화

부팅 장치의 우선 순위 설정(예로,《1CD ROM,《2》HDD,《3》USB)

부트 모드(Legacy BIOS/UEIF)의 전환

하드 디스크(HDD)와 광학 드라이브의 설정

날짜 및 시간 설정

오래된 PC의 경우 마더 보드(메인 보드)가 기존의 레거시 BIOS만을 지원하여 UEFI 모드에는 대응하지 않을 수도 있습니다. 처음부터 자신의 PC가 UEFI 모드를 지원하하더라도 잘 알지 못하는 사용자도 많을 것입니다.

Windows 기반의 PC가 레거시 BIOS로 부팅하도록 설정되어 있기 때문에 UEFI 모드를 모르는 사용자는 대개 레거시 BIOS 모드 그대로 PC를 계속 사용할 경우가 많다고 생각합니다. 비록 Windows를 다시 설치하여도 BIOS가 UEFI 모드로 전환 확률은 낮은 것입니다.

PC에 Windows OS를 설치할 때 처음에 조심해야 할 것은 BIOS 부트 모드(Boot Mode) UEFI 모드(GPT 파티션 형식)인지, 기존의 레거시 BIOS(MBR파일 형식)인지 확인하는 것입니다.

레거시 BIOS

 

레거시 BIOS (Legacy BIOS)는 약 20년 전에 운영 체제를 가동을 위해 설계된 오래된 유틸리티입니다. 2TB 이상의 대용량 HDD에서 OS 부팅 및 최신 하드웨어와 운영 체제 (OS)와의 통합에 한계가 발생했습니다.

오래된 BIOS 펌웨어는 최신의 PC와 호환되는게 점점 어려워지고 있기 때문에, 레거시 BIOS를 대신해서 2010 년쯤에 UEFI(Unified Extensible Firmware Interface) 모드로의 전환이 진행되고 있습니다.

최신 PC 마더 보드에는 레거시 BIOS와 UEFI 모드 둘 다 부트 모드(Boot Mode)가 구비되어 있어 어느 하나를 선택할 수 있지만, 장래에는 '레거시 BIOS'가 필요없게 되는 시대가 올 것이다.

UEFI 모드

 

UEFI(Unified Extensible Firmware Interface) 모드는 최신 PC용의 표준 펌웨어 인터페이스입니다. PC 기술이 진보함에 따라 온도와 전력 모니터링, 원격 보안 관리, 가상화 및 Turbo Boost 등의 프로세서 확장 등 BIOS를 지원할 필요가 있었습니다.

UEFI는 이전의 BIOS 펌웨어 인터페이스 및 EFI(Extensible Firmware Interface)를 대체할 새로운 유틸리티입니다.

BIOS에서 하드웨어를 진단하지 않고 빠른 OS 부팅이 가능하며, 소프트웨어의 상호 운용성을 향상시킵니다. 2테라 바이트(2T bytes) 이상의 고용량 하드 디스크 제어 및 Windows 64bit 버전에 적합합니다.

▼ 최근에는 레거시 BIOS와 비교하여 GUI(Graphical User Interface: 그래픽 사용자 인터페이스)이므로 사용자가 알기 쉽게 조작할 수 있도록 도와 줍니다.

 

 

시스템 정보를 확인하기(WIndows10)

 

▼ 다음과 같이 Windows + R 키를 눌러 실행을 엽니다. 이름 : 텍스트 상자에 1msinfo32를 입력하고 2OK 버튼을 클릭합니다.

 

 

 

 

docs.microsoft.com/ko-kr/dotnet/api/system?view=net-5.0

 

 

System 네임스페이스

일반적으로 사용되는 값과 참조 데이터 형식, 이벤트와 이벤트 처리기, 인터페이스, 특성, 예외 처리 등을 정의하는 핵심 클래스 및 기본 클래스가 포함되어 있습니다. Contains fundamental classes and b

docs.microsoft.com

api 가이드문서입니다.

 

 

 

#증권정보홈페이지를 만들어보자(2)

#증권정보홈페이지를 만들어보자(2)

 

1. OS구축

1.1 CentOS 6.6 설치

1.2 파티션정의

---------------------500기가 기준----------------------------------------------

swap(2,048)  -> 10,000
/boot(100)   ->  2,000(첫번째 파티션으로 만듦, 체크)
/(3,072)     -> 12,000
/usr(8,192)  -> 70,000
/usr2(90,000)-> 90,000
/var(4,096)  -> 12,000
/tmp(4,096)  -> 12,000
/data(70,000)-> 70,000
/home(2,000) ->  2,000
/web(나머지 부분을 할당, 체크)

---------------------500기가 기준----------------------------------------------

 

1.3. Group,User 생성

 

2.  네트웍설정
3.  TELNET설정
4.  FTP설정
5.  한글깨짐설정
6.  시간동기화
7.  gcc설치
8.  MySQL설치
9.  JDK설치
10. TOMCAT & APACHE설치

 

11. 백엔드설정(서버)

12. 프론트엔드설정(웹)

 

 

#1Minute 체결 데이타 저장과 생성

#1Minute 체결 데이타 저장과 생성

 

1. 1Minute체결데이타를 MySQL에 저장하는것으로 한다.

2. 저장하는 항목은 

{"date":1455710400,"high":0.00978987,"low":0.0089,"open":0.009716,"close":0.00933999,"volume":2860.36726244,"quoteVolume":307623.36565991,"weightedAverage":0.00929827}

 

2.1 date는 UnixTimestamp를 이용

2.2 high는 고가(메모리에 저장되어진 kse.high 이용)

2.3 low는 저가(메모리에 저장되어진 kse.low 이용)

2.4 open은 시가(메모리에 저장되어진 kse.open 이용)

2.5 close는 현재가(메모리에 저장되어진 kse.hyun 이용)

2.6 volume은 현재 체결량(메모리에 저장되어진 kse.hyunvol 이용)

2.7 quoteVolume은 누적된 체결량(메모리에 저장되어진 kse.vol 이용)

2.8 weightedAverage은 가중평균가(CLOSE 종목마감데이타, close.weight_avg -> kse.weight_avg이용)

2.9 종목마감데이타의 close.weight_avg는 실시간으로 수신된다. 종목시세처리시에 비교해서 close.weight_avg -> kse.weight_avg반영한다.

 

 

3. 저장이벤트시간

3.1 KRX지수는 2초혹은 10초간격으로 다양하게 산출되어서 수신되어진다.

3.2 장시작 지수의 시간이 "PREJJJ"가 오면 전체종목에 대해서 위의 항목을 저장한다.(SEQ:0)

     - systme(BEFOREMINSISESHELL)

3.3 HHMMSS/100*100=HHMMSS(1분)이면, 전체종목에 대해서 위의 항목을 저장한다.(SEQ:HHMMSS로 판단)

     - system(MINSISESHELL)

3.4 장마감 지수의 시간이 "JUNJJJ"가 오면 전체종목에 대해서 위의 항목을 저장한다.(SEQ:99999)

     - system(CLOSEMINSISESHELL)

 

4. 1Minute 체결 데이타 생성

     - 체결데이타의 생성시간은 사용자가 정의하면 된다.

     - 보통 Cron으로 1분에 한번(?)

4.1 전체종목을 읽어서 각 종목별로 파일이름을 생성후에 데이타를 JSON형식의 TXT파일로 저장한다.

4.2 예를들어, 삼성전자라면, KR7005930003.json 이다.

 

5. 저장디렉토리 구조

5.1 data/kse/*.json - 거래소종목

5.2 data/kosdaq/*.json - 코스닥종목

5.3 data/konex/*.json - 코넥스종목

5.4 data/future/*.json - K200지수 선물종목

5.5 data/option/*.json - K200지수 옵션종목

5.6 data/ksejisu/*.json - 거래소지수

5.7 data/kosdaqjisu/*.json - 코스닥지수

 

 

 

 

//DateTime -> UnixTimestamp -> DateTime 변환

//DateTime -> UnixTimestamp -> DateTime 변환

 

#include<stdio.h>

#include<time.h>

 

int GetUnixTimeT(int year, int month, int day, int hour, int minute, int second)

{

  struct tm t = {0};

 

  t.tm_year = year - 1900;

  t.tm_mon = month - 1;

  t.tm_mday = day;

  t.tm_hour = hour;

  t.tm_min = minute;

  t.tm_sec = second;

 

  return(mktime(&t));

}

int main(int argc, char *argv[])

{

  time_t t = time(NULL);

  struct tm tm = *localtime(&t);

 

  int ____year = tm.tm_year + 1900;

  int ____month = tm.tm_mon = month + 1;

  int ____day = tm.tm_mday;

  int ____hour = tm.tm_hour;

  int ____minute = tm.tm_min;

  int ____second = tm.tm_sec;

 

  printf("DateTime(1):[%d-%d-%d %d:%d:%d]\n", ____year,

    ____month, ____day, ____hour, ____minute, ____second);

 

  time_t baseTime = GetUnixTimeT(____year,

            ____month, ____day, ____hour, ____minute, ____second);

 

  printf("UnixTimestamp:[%ld]\n", baseTime);

 

  struct tm *tmmm = (struct tm *)localtime(&baseTime);

 

  ____year = tmmm->tm_year + 1900;

  ____month = tmmm->tm_mon = month + 1;

  ____day = tmmm->tm_mday;

  ____hour = tmmm->tm_hour;

  ____minute = tmmm->tm_min;

  ____second = tmmm->tm_sec;

 

  printf("DateTime(2):[%d-%d-%d %d:%d:%d]\n", ____year,

    ____month, ____day, ____hour, ____minute, ____second);

 

  return(0);

}

 

 

 

 

  

#JavaScript Candle Chart

 

 

candle.html
0.00MB

 

 

exporting.js
0.02MB

 

 

highstock.js
0.37MB

 

[{"date":1455699200,"high":0.00971537,"low":0.00971537,"open":0.00971537,"close":0.00971537,"volume":0,"quoteVolume":0,"weightedAverage":0.00971537},{"date":1455710400,"high":0.00978987,"low":0.0089,"open":0.009716,"close":0.00933999,"volume":2860.36726244,"quoteVolume":307623.36565991,"weightedAverage":0.00929827},{"date":1455724800,"high":0.0103898,"low":0.00930001,"open":0.00933999,"close":0.0094,"volume":2919.83796807,"quoteVolume":298145.85276802,"weightedAverage":0.00979332},{"date":1455739200,"high":0.00950994,"low":0.00825017,"open":0.00934037,"close":0.0090876,"volume":6306.93897676,"quoteVolume":714651.82207307,"weightedAverage":0.00882519},{"date":1455753600,"high":0.00909248,"low":0.008,"open":0.0090876,"close":0.00858202,"volume":4576.61493894,"quoteVolume":543271.63733905,"weightedAverage":0.00842417},{"date":1455768000,"high":0.00895382,"low":0.00845001,"open":0.0085575,"close":0.00872019,"volume":1281.31473149,"quoteVolume":148522.05236394,"weightedAverage":0.0086271},{"date":1455782400,"high":0.0122,"low":0.00872019,"open":0.00872019,"close":0.01030435,"volume":10032.78128347,"quoteVolume":976189.97115582,"weightedAverage":0.01027748}]

 

 

위의 date는 유닉스타임입니다.

유닉스타임을 날짜로 변환(Unix timestamp to DateTime)하면

 

1. 유닉스 타임
1455699200
 
2. KST(한국표준시)
유닉스 타임 변환후 변환날짜
2016-02-17 17:53:20
20160217175320

3. KST
2016. 2. 17. 오후 5:53:20

 

닷넷 프레임워크(.NET Framework, 이전 이름: 닷넷)는 마이크로소프트에서 개발한 윈도우 프로그램 개발 및 실행 환경이다. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하였고, 공통 언어 런타임(Common Language Runtime)(CLR)이라는 이름의 가상 머신 위에서 작동한다.

 

 

 

 

Windows10에는 기본적으로 Microsoft.NET\Framework 디렉토리가 설정되어 있다.(예를 들어, c# compiler,,,,,)

#FTP server/client standard tcp program

 

fss_client.c
0.00MB
fss_server.c
0.00MB

 

 

NOT fork

NOT thread

NOT select

STANDARD tcp OK

 

 

비고) 클라이언트소스에 <sys/sendfile.h>에 선언되어진 sendfile 이라는 함수가 유용하게 사용된다.

#거래소 & Koscom 정보분배 Tcp데이타 수신및 처리

 

1. 수신받는 쪽이 서버입니다.

    1.1 거래소 & Koscom은 데이타를 송신하는 역할을 합니다.

    1.2 Ack데이타가 없다.(무조건 수신만 받는 서버의 역할을 담당합니다.) 

    1.2.1 다른 서버&클라이언트 구조와 다르게, Ack데이타가 존재하지 않으므로 수신하는 서버의 하드웨어 스펙과
    수신프로그램의 성능이 중요합니다.

    1.2.2 송신프로그램에서 1000 Record 라는 데이타를 주었는데, 수신프로그램에서

    1000 Record 데이타를 수신 못한다면 수신서버는 제 역할을 못한다고 할수 있습니다.

    1.3 수신서버에서 데이타를 못받게된다면, 송신서버(거래소 & Koscom 정보분배)에서는
    Error를 결과값으로 받게됩니다.

    1.4 Error를 결과값으로 받게되면, 송신서버(거래소 & Koscom 정보분배)담당자는
    연락을 취하는경우가 보통입니다.

    1.5 간략하게 정리하자면, 송신서버(거래소 & Koscom 정보분배)에서는 send라는 함수만 사용하고

    1.6 수신서버에서는 recv함수만 사용하면 되는것입니다.

 

2. 수신받는 데이타가 하나의 레코드가 아닐수 있습니다.

    2.1 최소 1개 레코드에서 n개의 레코드가 될수 있습니다.(호가여러개, 혹은 호가와 체결이 결합되어진 여러개)

    2.2 물론 레코드와 레코드를 분리하는 방법은 수신패킷 내부에 포함되어 있습니다.

 

3. 레코드와 레코드 사이의 구별하는 패킷분리 인자가 보통 3개 존재합니다.

    3.1 0xff, 0x0d, 0x0a 3개의 char변수를 기반으로 분리합니다.

 

4. 레코드한개를 분리해서 처리하도록 합니다.

    4.1 여러개의 레코드에서 한개의 레코드를 추출해서, 처리를 합니다.

        4.1.1 호가 레코드, 1종목 처리

        4.1.2 체결 레코드, 1종목 처리

    4.2 추출한 레코드를 수신프로그램에서 동시에 처리하는것은 바람직 하지 않습니다.

        4.2.1 주로 Queue를 통해서 전송해서 Queue를 읽어들이는 처리프로그램을 따로 작성해야 합니다.

    4.3 Queue통해서 읽어들인 레코드는 주식로직을 통해서 처리합니다.

    4.4 주식로직에 대한 부분은 너무 방대하므로 여기서는 SKIP합니다.

    4.5 수신구조체가 필요합니다.

    4.6 처리구조체가 필요합니다.(수신된 데이타를 전부 보관하는건 비효율적이라고 생각합니다.)

    4.6.1 화면에서 필요한 데이타를 기획해서, 처리구조체를 정의하면 됩니다.

 

5. 처리되어진 데이타는 저장소에 보관합니다.(대량의 데이타이고 빠른 조회를 위해서 메모리 기반으로 많이 저장소를 선택합니다.)

    5.1 Shared Memory가 될수 있습니다.

    5.2 DataBase가 될수 있습니다.

    5.3 File가 될수 있습니다.

 

6. 저장되어진 데이타를 조합해서, 클라이언트로 보내주면,거래소 & Koscom 정보분배 Tcp데이타를 외부에서 볼수 있습니다.

    6.1 Web
    (Request & Response <-> Web Server <-> Was(Tomcat) <-> JNI <-> Jni FrameWork <-> Memory In Server)

    6.2 HTS

    6.3 MTS

 

7. 업무볼륨

    7.1 1-5번까지의 부분은 서버의 역할중에서 10%정도 볼륨이며

    7.2 5-6번까지의 부분이 나머지 90%의 역할을 담당합니다.

 

 

더욱 궁금한부분은 xterm92@naver.com으로 연락부탁드립니다.

 

#Compile

gcc -I/usr/local/jdk1.7.0_79/include -I/usr/local/jdk1.7.0_79/include/linux -I/usr2/sinfo/src/include -I/usr/local/mysql/include -I./../jni_include  -fPIC -g -c -Wall SiseLibJong.c

 

gcc -I/usr/local/jdk1.7.0_79/include -I/usr/local/jdk1.7.0_79/include/linux -I/usr2/sinfo/src/include -I/usr/local/mysql/include -I./../jni_include  -fPIC -g -c -Wall ShmOpJong.c

 

 

#Link(so)

#gcc -shared -fPIC -o libShmJong.so SiseLibJong.so ShmOpJong.so

../util/Common.o /usr2/sinfo/src/util/MEMORY.o /usr2/sinfo/src/util/IPC.o /usr2/sinfo/src/util/STRLIB.o /usr2/sinfo/src/util/FUNC.o -lm -lpthread -lnsl

 

#Link(exe)

#gcc -o exeShmJong SiseLibJong.so ShmOpJong.so

../util/Common.o /usr2/sinfo/src/util/MEMORY.o /usr2/sinfo/src/util/IPC.o /usr2/sinfo/src/util/STRLIB.o /usr2/sinfo/src/util/FUNC.o -lm

-lpthread -lnsl

 

 

 

 

Makefile
0.00MB

 

 

증권사는 전용선을 통해서 UDP데이타를 수신하며

인터넷사업자 & 개인은 인터넷을 통한 TCP데이타를 수신받는다.

 

구축에 대한 문의는 xterm92@naver.com 으로 주세요.

 

 

c_sharp_console_hexa.cs
0.01MB

 

Windows10에서 c#을 이용한 Console Hexa 프로그램(When? - 2021.04.08 final Update)

 

Based By)Microsoft.NET

 

Microsoft 공식 홈페이지

Microsoft는 목표와 가치는 전세계의 사람과 기업이 잠재력을 최대한 발휘할 수 있도록 돕는 것입니다.

www.microsoft.com

 

 

 

 

c# 소스파일에 대한 컴파일할수 있는 환경을 만들었다.

+ Recent posts