Domanda

Sto cercando di creare una semplice applicazione DER Decoder - Console che emette solo il contenuto della determinata struttura dei dati (codificata in formato DER, come Questo).

Ho problemi con l'esecuzione di questo esempio: Un decodificatore "rettangolo" .

Sto cercando di compilarlo con MSVC e ho problemi con #include <inttypes.h> e #include <netinet/in.h>. Digita anche ssize_t è indefinito.

Ecco cosa ho fatto per ora:
1. AT Compilatore ASN.1 online Ho incollato questo codice in Textfield:

RectangleModule1 DEFINITIONS ::=
BEGIN

Rectangle ::= SEQUENCE {
    height  INTEGER,
    width   INTEGER
}

END

2. Ho selezionato "Usa i tipi di macchine native" e "Genera per supporto" opzioni.
3. It "Compilato ok" Quindi ho scaricato quell'output .tgz
4. CREATO PROGETTO vuoto Int Visual Studio 2010, file di sorgente con trascinamento di drag-N estratti da questo .tgz
5. Imposta aggiuntiva include la directory sulla directory "scheletri" di ASN1c
6. Ho provato a costruirlo.

Cosa mi manca?

Qualsiasi aiuto sarebbe apprezzato

È stato utile?

Soluzione

Il problema è che il codice generato da ASN1c deve essere modificato per compilarlo con MSVC e utilizzarlo in ambiente Windows.

  1. #include <inttypes.h> dovrebbe essere sostituito con #define ssize_t SSIZE_T
  2. #include <netinet/in.h> dovrebbe essere sostituito con #include <Winsock2.h>
  3. parola chiave inline dovrebbe essere rimosso da static funzioni definite in asn_internal.h

Dopodiché, tutto funziona bene;)

Altri suggerimenti

Assicurati di avere un file di definizione ASN corretto. Quindi vai a Link http://lionet.info/asn1c/asn1c.cgi

Incolla la tua definizione ASN nella finestra data. Premere il pulsante "Procedere con la compilation ASN.1". Se si ottiene un errore di compilazione, rettifica quelli. Dopo la compilazione, genererà il codice per il decodificatore. Provalo va bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top