PDA

View Full Version : کمک در تحلیل برنامه چند خطی که با c++ نوشته شده



salam99999
یک شنبه 06 اردیبهشت 1394, 15:07 عصر
سلام دوستان. من دو برنامه داشتم که تحلیلشو بلد نیستم. برنامه شماره 1 با دستورات sse نوشته شده و برنامه شماره 2 برنامه ای هست که روی یک هسته ی خاص اجرا میشه.
کسی میتونه برنامه رو برام تحلیل کنه اگر خط به خط باشه که ممنون میشم چون خودم اینقدر اکسپرت نیستم که این برنامه ها رو بفهمم.:افسرده: با تشکر:چشمک:

برنامه 1

#include <emmintrin.h>
#include <stdio.h>
#include <conio.h>

typedef union {
__m128i V;
int A[4];
} IV;

static void printIV(IV *Q) {
printf("%08x %08x %08x %08x\n", Q->A[0], Q->A[1], Q->A[2], Q->A[3]);
}

int main() {
__m128i allones = _mm_set1_epi32(0);
__m128i zeroones, onezeros;
allones = _mm_cmpeq_epi32(allones, allones);
zeroones = _mm_srli_epi16(allones, 8);
printIV((IV*)&zeroones);
onezeros = _mm_slli_epi16(allones, 8);
printIV((IV*)&onezeros);
-getch();
return 0;
}



برنامه 2

#include <Windows.h>
#include <iostream>
#include <conio.h>
using namespace std;

int main() {
HANDLE process = GetCurrentProcess();

DWORD_PTR processAffinityMask;
DWORD_PTR systemAffinityMask;
if (!GetProcessAffinityMask(process, &processAffinityMask, &systemAffinityMask))
return -1;
int core = 2; /* set this to the core you want your process to run on */
DWORD_PTR mask = 0x1;
for (int bit = 0, currentCore = 1; bit < 16; bit++)
{
if (mask & processAffinityMask)
{
if (currentCore != core)
{
processAffinityMask &= ~mask;
}
currentCore++;
}
mask = mask << 1;
}
BOOL success = SetProcessAffinityMask(process, processAffinityMask);
cout << success << endl;
getch();
return 0;

}

salam99999
یک شنبه 06 اردیبهشت 1394, 17:06 عصر
کسی نبود؟؟!!! ماشاا... این همه برنامه نویس یکی نمی خواد کمک کنه!!