Eine Dll-Function die mit char* returned ?

Previous topic - Next topic

sechsrad

wo gibt es eigentlich eine hilfe in deutsch für dieses dev-c++?

habe ein c-hilfe gefunden, die weicht aber in der syntax stark ab.

mfg

Schranz0r

gibts nicht, wenn du kein englisch kannst, solltest du eh nicht in C++ Programmieren !
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

sechsrad

das ist die glb-datei :

Code (glbasic) Select
b=glb_meine(23)

PRINT b,100,100
SHOWSCREEN

MOUSEWAIT

FUNCTION WeNeedOne:
ENDFUNCTION

INLINE
DECLARE(meine, "my-dll.dll", (int), int);
ENDINLINE

FUNCTION glb_meine: i
INLINE
return meine(i);
ENDINLINE
ENDFUNCTION
das ist die my-dll datei, die 14 wird addiert :

Code (glbasic) Select
extern "C" __declspec(dllexport) int __stdcall meine(int i)
{
 return i=i+14;
}

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Genau. Mach doch mal ein Tutorial für andere. Das hilft vielen die auch mal was mit C++ machen möchten weiter.

trucidare

Ich kann nur sagen es hängt nich davon ab ob man englisch kann oder nicht. Ich hab englisch 5 und kann atmega programmieren, ein wenig c++, fenix und etliche andere kleine dialekte.

Es hat rein gar null nix mit der bildung zu tun ob man programmieren kann oder nich. Ich hab auchn kleinen dachschaden... denke schneller als ich spreche kann mir absolut null nix merken das auch nur ein hauch mit englisch zu tun hat.

trotzdem kann ich kein atmega programmieren und roboter steruern... interessiert mich auch nicht. Aber ich kann das was ich können will. Der glaube kann berge versetzen (sagten meine eltern immer zu mir) und nun glaub ich das ich es schaffe eine gui zu portieren die auch funktioniert... und es sieht gut aus.

abgesehen davon geht probieren über studieren.. ich hab c++ per learning by doing gerlernt und es reicht ich schaff damit klar zu kommen und wenn ich hilfe brauch frag ich google wenn das nicht hilft dann frage ich in foren nach.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

ch hatte Englisch 1, und kann keinen Videorekorder programmieren. Bin ich froh, dass die jetzt ausgestorben sind...

Schranz0r

LOL, Videorecorder waren ja ne wissenschaft für sich :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

trucidare

haaa ich konnte videorekorder mit 10 programmieren ;)
das is aber auch das einzige sonst hab ich immer alles __zerstört__
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Schranz0r

Dito, im zerstören war/bin ich Weltklasse :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

sechsrad

Quotedenk dran, das ein string in  "c" immer mit einer +chr$(0) abschliessen muss.
siehst du, das weis man auch ohne englischkenntnisse !

mfg

Schranz0r

hmm......
Erklär mir doch mal bitte wieso, und warum das so ist!
Ich weiß es nämlich nicht.
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

sechsrad

das ist eine vereinbarung , man hätte auch eine 255 nehmen können als endanzeiger für einen string. ist eine sehr flexibel einrichtung um schnell den string auf 0-byte zu setzen oder bei einem langen string durch 0-teilungen diese ausgaben steuern, weil ja immer nur bis zur 0 ausgegeben wird . kann man schön mit tricksen.

Schranz0r

Versteh ich net :D
Erklär mal bitte genau !
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Also in C ist ein string nur ein Zeiger auf das erste Zeichen. So, wie weißt Du jetzt, wo der String aufhört?
Gar net. Darum muss in C in String immer mimt einem '\0' (=0) abschließen.
Deine Funktion liefert aber einen String in dieser Form zurück, und wenn Du
mystring_Str = some_char_pointer;
machst, dann ist alles OK.