INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Pointer auf Array mit Labview übertragen und darstellen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

17.07.2013, 14:55 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2013 14:56 von rolfk.)
Beitrag #25

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Pointer auf Array mit Labview übertragen und darstellen
(17.07.2013 09:30 )lupus022 schrieb:  Ich hab den Warnlevel mal auf Level 4 gesetzt, und erhalte nur folgende Warnung:
Code:
1>  Testdll.cpp
1>c:\users\***-user\documents\visual studio 2010\projects\testdll\testdll\testdll.cpp(28): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>          c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105): Siehe Deklaration von 'strcpy'
1>     Bibliothek "C:\Users\***-User\Documents\Visual Studio 2010\Projects\Testdll\Debug\Testdll.lib" und Objekt "C:\Users\***-User\Documents\Visual Studio 2010\Projects\Testdll\Debug\Testdll.exp" werden erstellt.
1>  Testdll.vcxproj -> C:\Users\***-User\Documents\Visual Studio 2010\Projects\Testdll\Debug\Testdll.dll
Wobei mir Labview auch nichts sinnvolles ausgibt, wenn ich alles in C programmiere:
Code:
__declspec(dllexport) int * gen_multiarr(int row)
{
    ptr2 = (int *)malloc(row*sizeof(int));
    for(int i = 0; i < row; i++)
        for(int j = 0; j < row; j++)
            ptr2[i] = i+j;
    return ptr2;
}
Weshalb?

Gute Frage! Ich sehe kein strcpy() in diesem Code. Bist Du sicher dass dies alles ist was in Deinem testdll.cpp file steht? Da sollte auf Zeile 28 etwas stehen das in einen Aufruf von strcpy() resultiert.

An sich sagt diese Warnung einfach aus, dass strcpy() unsafe ist, da die Funktion nicht wissen kann wie lange der Destinationbuffer wirklich ist und deshalb Bufferoverruns passieren können, wenn der Programmierer die Funktion nicht mit der nötigen Sorgfalt aufruft.

Aber ich sehe Du hast alles C++ schön sauber entfernt. new ist zwar normalerwiese einfach ein malloc() aber es ist durchaus denkbar dass ein C++ Compiler da etwas anderes macht. Aber dieser Code sollte doch mit einem einmaligen GetValueByPointer funktionieren? Wie hast Du denn Dein VI programmiert?

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: Pointer auf Array mit Labview übertragen und darstellen - rolfk - 17.07.2013 14:55

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Datenübergabe an DLL Pointer to Pointer Reiling 2 9.593 02.02.2018 10:59
Letzter Beitrag: Reiling
  Absturz durch unzulässige Pointer VS_03 3 10.306 28.10.2016 18:32
Letzter Beitrag: VS_03
  dll mit Pointer auf komplexe Struktur einbinden Wedgewood 11 17.006 27.04.2014 23:44
Letzter Beitrag: Wedgewood
  Pointer und MoveBlock OXO 4 8.203 03.06.2013 16:31
Letzter Beitrag: OXO
  Pointer auf Subarray übergeben Event Horizon 5 7.423 15.07.2012 10:21
Letzter Beitrag: rolfk
  DLL-Einbindung, Struct mit verschiedenen Datentypen als Pointer übergeben hawk72 4 11.071 11.05.2012 14:41
Letzter Beitrag: hawk72

Gehe zu: