Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: Problem mit externer Lib

  1. #1
    Registriert seit
    18.02.2011
    Beiträge
    26
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, cih hab bißchen mit externer lib und C-Code experementiert.
    Einfache funktion wie C=A+B funktioniert.

    Jetzt wollte ich einen größeren Code einbinden und siehe da, es geht nicht.

    Kann mir einer helfen, brauche es dringend?

    Code folgt:
    Zitieren Zitieren Problem mit externer Lib  

  2. #2
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard

    dann fang mal an alle relevanten infos dazu zu geben, am besten den quellcode, nur so läßt sich der fehler wirklich ermitteln.

    alternativ kannst du in einem langwierigen verfahren gemäß dem flüsterpostprinzip anfangen hier uns zu erklären wos wie wann hackt

    ein HILFE ICH BRAUCH ES DRINGEND gilt übrigens nicht,
    das schreibt hier jeder, und genau wie du gibts keine echten infos zum problem. hellsehen ist mir leider nicht in die wiege gelegt worden.

  3. #3
    demon2000 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2011
    Beiträge
    26
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kompiler Visual C++ 2010
    Einstellungen:
    Project / Settings / C/C++ / Customize: Enable function-level linking deaktivieren


    Project / Settings / C/C++ / Optimization: Customize: Global Optimizations + Generate Intrinsic
    Functions + Favor small code aktivieren


    Project / Settings / C/C++ / Code Generation: Struct member alignment = 1 Byte


    Wenn Sie irgendeine Ansi-C Standardbibliotheksfunktion verwenden wollen, müssen Sie in den Projekteinstellungen folgende Auswahl aktivieren:
    Build / Settings / C/C++ / Category: Optimizations : Customize: Generate Instrinsic Functions Damit werden die einfachsten Ansi-C Bibliotheksfunktonen Inline aufgelöst
    (strcpy(),...).Ansonsten dürfen keine Bibliotheken verwendet werden.


    Für Visual 6.0:
    Project / Settings / C/C++ / General: Debug Info: Program Database (nicht: Program Database for Edit and Continue)


  4. #4
    demon2000 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2011
    Beiträge
    26
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    C-File:
    Code:
     
    /* The implemenation templates */
    void FB_ENCRYPT(FB_ENCRYPTtyp* inst)
    {
    aes_encrypt_cbc(inst->ARRUSERKEY, inst->ARRINITVEKTOR, inst->ARRDATAIN, inst->ARRENCRYPTEDDATA, 16);
    }
    BOOL FB_ENCRYPTinit(FB_ENCRYPTtyp* inst, BOOL bRetain)
    {
    int j, k, l; /* Loop counters */
    /* Initializing Function Block components */
    for (j = 0; j < 16; j++)
    {
    (*((inst->ARRDATAIN) + j)) = 0;
    }
    for (j = 0; j < 16; j++)
    {
    (*((inst->ARRUSERKEY) + j)) = 0;
    }
    for (j = 0; j < 16; j++)
    {
    (*((inst->ARRINITVEKTOR) + j)) = 0;
    }
    for (j = 0; j < 16; j++)
    {
    (*((inst->ARRENCRYPTEDDATA) + j)) = 0;
    }
    if (bRetain)
    return bRetain;
    /* Initalize the retain variables only if bRetain is FALSE */
    return bRetain;
    }

  5. #5
    demon2000 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2011
    Beiträge
    26
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Code:
    void aes_encrypt_cbc
    (
        const unsigned char* expanded_key,
        const unsigned char* iv,
        const unsigned char* src,
        unsigned char* dst,
        unsigned short length
    )
    {
        unsigned char ivbuf[AES_BLOCK_SIZE];
     expanded_key;
        /* copy the initialisation vector into buffer */
        aes_memcpy(ivbuf, iv, AES_BLOCK_SIZE);
        /* loop over blocks */
        while (length > 0)
        {
     
             aes_memcpy(ivbuf, dst, AES_BLOCK_SIZE);
     
            /* next */
            length -= AES_BLOCK_SIZE;
            src += AES_BLOCK_SIZE;
            dst += AES_BLOCK_SIZE;
        }
    }
    void aes_memcpy (unsigned char* dst, const unsigned char* src, unsigned short length)
    {
        while (length-- > 0u)
        {
            *dst++ = *src++;
        }
    }

  6. #6
    demon2000 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2011
    Beiträge
    26
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    .h-File
    Code:
     
    #define BOOL char 
    #define BYTE unsigned char 
    #define INT short 
    #define UINT unsigned short 
    #define WORD unsigned short 
    #define DINT long 
    #define UDINT unsigned long 
    #define DWORD unsigned long 
    #define REAL float 
    #define LREAL double 
    #define TRUE 1 
    #define FALSE 0
    #define NB              (4U)
    /* the number of 32-bit words comprising the cipher key */
    #define NK       (4U)
    /* the number of rounds */
    #define NR       (10U)
    /* block size in bytes */
    #define AES_BLOCK_SIZE (NB*4U)
    /******************aes_encrypt.h*******************/
    /* #define AES_128_EXPANDED_KEY_LENGTH (176) */ /* the length of an expanded key in bytes */
    
    typedef struct
    {
     BYTE ARRDATAIN[16];
     BYTE ARRUSERKEY[16];
     BYTE ARRINITVEKTOR[16];
     BYTE ARRENCRYPTEDDATA[16];
    }
    FB_ENCRYPTtyp;
    
    /* Enum definitions */
     
    void FB_ENCRYPT(FB_ENCRYPTtyp* inst);
    BOOL FB_ENCRYPTinit(FB_ENCRYPTtyp* inst, BOOL bRetain);
    void aes_encrypt_cbc(const unsigned char* expanded_key,
                                const unsigned char* iv,
                                const unsigned char* src,
                                unsigned char*       dst,
                                unsigned short       length);
    void aes_memcpy(unsigned char*       dst,
                           const unsigned char* src,
                           unsigned short       length);

  7. #7
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    und jetzt noch die exakte fehlerbezeichnung des codesys-compilers, die target-konfiguration und die steuerungsknofiguration, ob der code als solches ok ist vermag ich nur im bezug auf die programmiersprache zu sagen, aber nicht auf das was es tun soll, werde mir das noch ansehen

Ähnliche Themen

  1. Problem: Externer Zugriff auf IDB's
    Von Approx im Forum Simatic
    Antworten: 49
    Letzter Beitrag: 31.12.2010, 13:11
  2. Prozessdatenerfassung S7/MP -->externer PC
    Von spskarl im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 02.12.2009, 11:43
  3. USB PC-Adapter mit externer Spannung
    Von mertens2 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 05.11.2009, 16:26
  4. CPU ist schneller als externer CP
    Von begoproductions im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 10.08.2008, 23:18
  5. WinCC & externer Datenbankzugriff
    Von Farinin im Forum HMI
    Antworten: 0
    Letzter Beitrag: 21.12.2007, 16:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •