char __stdcall CDllTest::sum_char(char a, char b)
{
char c ;
int temp;
temp = (int)a + (int)b;
c= (char)temp;
printf("temp value %d\n",temp);
printf("Afrer conversion%c\n",c);
printf("%d,%d,%c\n",a,b,c);
return c;
}
####
#!/usr/bin/perl -slw
#use strict;
#use warnings;
use Win32;
use Win32::API;
use Win32::API::Callback;
use Win32::API::Test;
my $num;
my $fun = Win32::API->new('Test.dll','char sum_char(char a,char b,char c)') or die $^E;
print "$fun\n";
my $character = chr(49);
print "$character\n";
my $character1 = chr(50);
print "$character1\n";
$num = $fun->Call($character,$character1);
print "$num\n";
####
D:\strawberry\perl\bin>perl Test.pl
Win32::API=HASH(0x3faa74)
temp value 106
Afrer conversion j(o/p printf on C++ side)
53,53,j(o/p printf on C++ side)
Use of uninitialized value $num in concatenation (.) or string at Test.pl line 40.