דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. C++
  5. עזרה הדדית - C++
  6. בקשת מידע | פיתוח הצופן התנכ"י

בקשת מידע | פיתוח הצופן התנכ"י

מתוזמן נעוץ נעול הועבר עזרה הדדית - C++
20 פוסטים 6 כותבים 362 צפיות 7 Watching
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • sivan22S sivan22

    @trhtkgsh אתה צריך לחשוב קודם על אלגוריתם יעיל, לכתוב אותו אפילו בפסאודו קוד, ואז להחליט באיזו שפה כדאי לממש. אני ממש לא בטוח שניהול הזכרון הוא המפתח לחיפוש יעיל. קודם כדאי לבדוק בכיוון של אינדקסים וכדומה.

    דרך אגב, אם אתה מחפש שפה יעילה במיוחד, היום משתמשים בRUST, היא מנהלת את הזכרון בצורה מיטבית ובלי הסיכונים הכרוכים בC++. החסרון היחיד שלה הוא עקומת למידה די תלולה.

    ט מנותק
    ט מנותק
    טופטופיסט
    כתב נערך לאחרונה על ידי
    #10

    @sivan22 כתב בבקשת מידע | פיתוח הצופן התנכ"י:

    הסיכונים הכרוכים בC++

    כמו מה למשל?

    תגובה 1 תגובה אחרונה
    0
    • sivan22S sivan22

      @trhtkgsh אתה צריך לחשוב קודם על אלגוריתם יעיל, לכתוב אותו אפילו בפסאודו קוד, ואז להחליט באיזו שפה כדאי לממש. אני ממש לא בטוח שניהול הזכרון הוא המפתח לחיפוש יעיל. קודם כדאי לבדוק בכיוון של אינדקסים וכדומה.

      דרך אגב, אם אתה מחפש שפה יעילה במיוחד, היום משתמשים בRUST, היא מנהלת את הזכרון בצורה מיטבית ובלי הסיכונים הכרוכים בC++. החסרון היחיד שלה הוא עקומת למידה די תלולה.

      T מנותק
      T מנותק
      trhtkgsh
      כתב נערך לאחרונה על ידי
      #11

      @sivan22 כתב בבקשת מידע | פיתוח הצופן התנכ"י:

      @trhtkgsh אתה צריך לחשוב קודם על אלגוריתם יעיל, לכתוב אותו אפילו בפסאודו קוד, ואז להחליט באיזו שפה כדאי לממש. אני ממש לא בטוח שניהול הזכרון הוא המפתח לחיפוש יעיל. קודם כדאי לבדוק בכיוון של אינדקסים וכדומה.

      אין אפשרות לחפש לפי אינדקסים, כי הטווח דינאמי (זה ליצור את האינדקסים כל פעם מחדש).
      כיום אני מסנן את כל האותיות לפי הגדרה מסוימת.
      הבעיה עם הצופן התנכ"י זה שצריך כל פעם לבדוק דילוגים מ-1 ועד 300,000 בפוטנציאל אם מחפשים בכל התורה

      דרך אגב, אם אתה מחפש שפה יעילה במיוחד, היום משתמשים בRUST, היא מנהלת את הזכרון בצורה מיטבית ובלי הסיכונים הכרוכים בC++. החסרון היחיד שלה הוא עקומת למידה די תלולה.

      ניסיתי לכתוב קוד ב-C# והמרתי אותו ל-C++ ורמת הביצועים השתפרה פלאים (במקום 10 לפחות לחיפוש זה ירד לדקה) והלוגיקה הייתה זהה.
      האם לדעתך אפשר לקחת את הקוד הכי יעיל ב-C# ולהמיר אותו בבינה מלאכותית ל-Rust?
      בחרתי ב-C++ כי הוא קרוב ל-C# ואפשר להבין אותו בקלות יחסית.

      תודה, ומה אתה ממליץ?

      יש לי קוד בסיסי שעובד:

      #include "pch.h"
      #include "Codes.h"
      #include "CodeResult.h"
      #include "CodesSearchSettings.h"
      
      #include <future>
      #include <nlohmann/json.hpp>
      #include <Windows.h>
      
      using json = nlohmann::json;
      
      CodeResult* Codes::search(const char* settingsJson, int* resultCount)
      {
      	settings = Codes::initSettings(settingsJson);
      
      	vector<future<vector<CodeResult>>> results;
      
      	for (int i = settings->start; i <= settings->end; i++)
      	{
      		results.emplace_back(async(launch::async, [=]()->vector<CodeResult>
      		{
      			return logic(settings, i);
      		}));
      	}
      
      	vector<CodeResult> finalResults;
      
      	for (auto& task : results)
      	{
      		auto skippingResults = task.get();
      
      		if (!skippingResults.empty())
      			finalResults.insert(finalResults.end(), skippingResults.begin(), skippingResults.end());
      	}
      
      	*resultCount = finalResults.size();
      
      	// Allocate memory using new
      	CodeResult* resultArray = new CodeResult[*resultCount];
      
      	// Copy the results to the allocated array
      	std::copy(finalResults.begin(), finalResults.end(), resultArray);
      
      	return resultArray;
      }
      
      CodesSearchSettings* Codes::initSettings(const char* settingsJson)
      {
      	std::string jsonDataString(settingsJson);
      	json jsonData = json::parse(jsonDataString);
      
      	CodesSearchSettings* newSettings = new CodesSearchSettings();
      
      	newSettings->start = jsonData["Start"];
      	newSettings->end = jsonData["End"];
      	newSettings->lastIndex = jsonData["LastIndex"];
      	newSettings->lettersCount = jsonData["LettersCount"];
      	newSettings->searchTextLength = jsonData["SearchTextLength"];
      
      	newSettings->searchText = new char[newSettings->searchTextLength + 1];
      	strncpy_s(newSettings->searchText, newSettings->searchTextLength + 1, jsonData["SearchText"].get<string>().c_str(), _TRUNCATE);
      
      	newSettings->lettersText = new char[newSettings->lettersCount + 1];
      	strncpy_s(newSettings->lettersText, newSettings->lettersCount + 1, jsonData["LettersText"].get<string>().c_str(), _TRUNCATE);
      
      	return newSettings;
      }
      
      vector<CodeResult> Codes::logic(CodesSearchSettings* settings, int skipping)
      {
      	vector<CodeResult> skippingResults;
      	int totalLenth = settings->searchTextLength * skipping;
      
      	for (int i = 0; i < settings->lastIndex; i++)
      	{
      		int index = 0;
      		int lettersCounter = 0;
      
      		for (int j = 0; j < totalLenth && i + j < settings->lettersCount; j += skipping)
      		{
      			char letterToCheck = settings->lettersText[i + j];
      			char searchTextLetter = settings->searchText[index];
      
      			if (searchTextLetter != letterToCheck)
      				break;
      
      			index++;
      			lettersCounter++;
      		}
      
      		if (lettersCounter == settings->searchTextLength)
      		{
      			CodeResult result = { i, skipping };
      			skippingResults.push_back(result);
      		}
      	}
      
      	return skippingResults;
      }
      
      #define EXPORTED_METHOD extern "C" __declspec(dllexport)
      
      EXPORTED_METHOD CodeResult* searchCodes(const char* settingsJson, int* resultCount)
      {
      	Codes codes;
      	return codes.search(settingsJson, resultCount);
      }
      
      EXPORTED_METHOD void releaseMemory(CodeResult* resultArray) { delete[] resultArray; }
      
      sivan22S מ 2 תגובות תגובה אחרונה
      0
      • T trhtkgsh

        @sivan22 כתב בבקשת מידע | פיתוח הצופן התנכ"י:

        @trhtkgsh אתה צריך לחשוב קודם על אלגוריתם יעיל, לכתוב אותו אפילו בפסאודו קוד, ואז להחליט באיזו שפה כדאי לממש. אני ממש לא בטוח שניהול הזכרון הוא המפתח לחיפוש יעיל. קודם כדאי לבדוק בכיוון של אינדקסים וכדומה.

        אין אפשרות לחפש לפי אינדקסים, כי הטווח דינאמי (זה ליצור את האינדקסים כל פעם מחדש).
        כיום אני מסנן את כל האותיות לפי הגדרה מסוימת.
        הבעיה עם הצופן התנכ"י זה שצריך כל פעם לבדוק דילוגים מ-1 ועד 300,000 בפוטנציאל אם מחפשים בכל התורה

        דרך אגב, אם אתה מחפש שפה יעילה במיוחד, היום משתמשים בRUST, היא מנהלת את הזכרון בצורה מיטבית ובלי הסיכונים הכרוכים בC++. החסרון היחיד שלה הוא עקומת למידה די תלולה.

        ניסיתי לכתוב קוד ב-C# והמרתי אותו ל-C++ ורמת הביצועים השתפרה פלאים (במקום 10 לפחות לחיפוש זה ירד לדקה) והלוגיקה הייתה זהה.
        האם לדעתך אפשר לקחת את הקוד הכי יעיל ב-C# ולהמיר אותו בבינה מלאכותית ל-Rust?
        בחרתי ב-C++ כי הוא קרוב ל-C# ואפשר להבין אותו בקלות יחסית.

        תודה, ומה אתה ממליץ?

        יש לי קוד בסיסי שעובד:

        #include "pch.h"
        #include "Codes.h"
        #include "CodeResult.h"
        #include "CodesSearchSettings.h"
        
        #include <future>
        #include <nlohmann/json.hpp>
        #include <Windows.h>
        
        using json = nlohmann::json;
        
        CodeResult* Codes::search(const char* settingsJson, int* resultCount)
        {
        	settings = Codes::initSettings(settingsJson);
        
        	vector<future<vector<CodeResult>>> results;
        
        	for (int i = settings->start; i <= settings->end; i++)
        	{
        		results.emplace_back(async(launch::async, [=]()->vector<CodeResult>
        		{
        			return logic(settings, i);
        		}));
        	}
        
        	vector<CodeResult> finalResults;
        
        	for (auto& task : results)
        	{
        		auto skippingResults = task.get();
        
        		if (!skippingResults.empty())
        			finalResults.insert(finalResults.end(), skippingResults.begin(), skippingResults.end());
        	}
        
        	*resultCount = finalResults.size();
        
        	// Allocate memory using new
        	CodeResult* resultArray = new CodeResult[*resultCount];
        
        	// Copy the results to the allocated array
        	std::copy(finalResults.begin(), finalResults.end(), resultArray);
        
        	return resultArray;
        }
        
        CodesSearchSettings* Codes::initSettings(const char* settingsJson)
        {
        	std::string jsonDataString(settingsJson);
        	json jsonData = json::parse(jsonDataString);
        
        	CodesSearchSettings* newSettings = new CodesSearchSettings();
        
        	newSettings->start = jsonData["Start"];
        	newSettings->end = jsonData["End"];
        	newSettings->lastIndex = jsonData["LastIndex"];
        	newSettings->lettersCount = jsonData["LettersCount"];
        	newSettings->searchTextLength = jsonData["SearchTextLength"];
        
        	newSettings->searchText = new char[newSettings->searchTextLength + 1];
        	strncpy_s(newSettings->searchText, newSettings->searchTextLength + 1, jsonData["SearchText"].get<string>().c_str(), _TRUNCATE);
        
        	newSettings->lettersText = new char[newSettings->lettersCount + 1];
        	strncpy_s(newSettings->lettersText, newSettings->lettersCount + 1, jsonData["LettersText"].get<string>().c_str(), _TRUNCATE);
        
        	return newSettings;
        }
        
        vector<CodeResult> Codes::logic(CodesSearchSettings* settings, int skipping)
        {
        	vector<CodeResult> skippingResults;
        	int totalLenth = settings->searchTextLength * skipping;
        
        	for (int i = 0; i < settings->lastIndex; i++)
        	{
        		int index = 0;
        		int lettersCounter = 0;
        
        		for (int j = 0; j < totalLenth && i + j < settings->lettersCount; j += skipping)
        		{
        			char letterToCheck = settings->lettersText[i + j];
        			char searchTextLetter = settings->searchText[index];
        
        			if (searchTextLetter != letterToCheck)
        				break;
        
        			index++;
        			lettersCounter++;
        		}
        
        		if (lettersCounter == settings->searchTextLength)
        		{
        			CodeResult result = { i, skipping };
        			skippingResults.push_back(result);
        		}
        	}
        
        	return skippingResults;
        }
        
        #define EXPORTED_METHOD extern "C" __declspec(dllexport)
        
        EXPORTED_METHOD CodeResult* searchCodes(const char* settingsJson, int* resultCount)
        {
        	Codes codes;
        	return codes.search(settingsJson, resultCount);
        }
        
        EXPORTED_METHOD void releaseMemory(CodeResult* resultArray) { delete[] resultArray; }
        
        sivan22S מנותק
        sivan22S מנותק
        sivan22
        כתב נערך לאחרונה על ידי
        #12

        @trhtkgsh לדעתי שווה לנסות להמיר לראסט, זה גם לא נראה קוד ארוך במיוחד. אבל תשתמש רק בקלוד סונט 3.5.

        T תגובה 1 תגובה אחרונה
        0
        • sivan22S sivan22

          @trhtkgsh לדעתי שווה לנסות להמיר לראסט, זה גם לא נראה קוד ארוך במיוחד. אבל תשתמש רק בקלוד סונט 3.5.

          T מנותק
          T מנותק
          trhtkgsh
          כתב נערך לאחרונה על ידי
          #13

          @sivan22
          עדיך להשתמש ב- https://cursor.com/ שפונה לקלוד סונט 3.5.
          תודה רבה, אנסה.
          בכל מקרה אני מעדיף להשתמש ב-C++ כי יותר קל לתחזק אותו בפרויקט של כל התוכנה.
          אז אם מישהו רוצה לעזור אשמח

          תגובה 1 תגובה אחרונה
          0
          • T trhtkgsh

            @sivan22 כתב בבקשת מידע | פיתוח הצופן התנכ"י:

            @trhtkgsh אתה צריך לחשוב קודם על אלגוריתם יעיל, לכתוב אותו אפילו בפסאודו קוד, ואז להחליט באיזו שפה כדאי לממש. אני ממש לא בטוח שניהול הזכרון הוא המפתח לחיפוש יעיל. קודם כדאי לבדוק בכיוון של אינדקסים וכדומה.

            אין אפשרות לחפש לפי אינדקסים, כי הטווח דינאמי (זה ליצור את האינדקסים כל פעם מחדש).
            כיום אני מסנן את כל האותיות לפי הגדרה מסוימת.
            הבעיה עם הצופן התנכ"י זה שצריך כל פעם לבדוק דילוגים מ-1 ועד 300,000 בפוטנציאל אם מחפשים בכל התורה

            דרך אגב, אם אתה מחפש שפה יעילה במיוחד, היום משתמשים בRUST, היא מנהלת את הזכרון בצורה מיטבית ובלי הסיכונים הכרוכים בC++. החסרון היחיד שלה הוא עקומת למידה די תלולה.

            ניסיתי לכתוב קוד ב-C# והמרתי אותו ל-C++ ורמת הביצועים השתפרה פלאים (במקום 10 לפחות לחיפוש זה ירד לדקה) והלוגיקה הייתה זהה.
            האם לדעתך אפשר לקחת את הקוד הכי יעיל ב-C# ולהמיר אותו בבינה מלאכותית ל-Rust?
            בחרתי ב-C++ כי הוא קרוב ל-C# ואפשר להבין אותו בקלות יחסית.

            תודה, ומה אתה ממליץ?

            יש לי קוד בסיסי שעובד:

            #include "pch.h"
            #include "Codes.h"
            #include "CodeResult.h"
            #include "CodesSearchSettings.h"
            
            #include <future>
            #include <nlohmann/json.hpp>
            #include <Windows.h>
            
            using json = nlohmann::json;
            
            CodeResult* Codes::search(const char* settingsJson, int* resultCount)
            {
            	settings = Codes::initSettings(settingsJson);
            
            	vector<future<vector<CodeResult>>> results;
            
            	for (int i = settings->start; i <= settings->end; i++)
            	{
            		results.emplace_back(async(launch::async, [=]()->vector<CodeResult>
            		{
            			return logic(settings, i);
            		}));
            	}
            
            	vector<CodeResult> finalResults;
            
            	for (auto& task : results)
            	{
            		auto skippingResults = task.get();
            
            		if (!skippingResults.empty())
            			finalResults.insert(finalResults.end(), skippingResults.begin(), skippingResults.end());
            	}
            
            	*resultCount = finalResults.size();
            
            	// Allocate memory using new
            	CodeResult* resultArray = new CodeResult[*resultCount];
            
            	// Copy the results to the allocated array
            	std::copy(finalResults.begin(), finalResults.end(), resultArray);
            
            	return resultArray;
            }
            
            CodesSearchSettings* Codes::initSettings(const char* settingsJson)
            {
            	std::string jsonDataString(settingsJson);
            	json jsonData = json::parse(jsonDataString);
            
            	CodesSearchSettings* newSettings = new CodesSearchSettings();
            
            	newSettings->start = jsonData["Start"];
            	newSettings->end = jsonData["End"];
            	newSettings->lastIndex = jsonData["LastIndex"];
            	newSettings->lettersCount = jsonData["LettersCount"];
            	newSettings->searchTextLength = jsonData["SearchTextLength"];
            
            	newSettings->searchText = new char[newSettings->searchTextLength + 1];
            	strncpy_s(newSettings->searchText, newSettings->searchTextLength + 1, jsonData["SearchText"].get<string>().c_str(), _TRUNCATE);
            
            	newSettings->lettersText = new char[newSettings->lettersCount + 1];
            	strncpy_s(newSettings->lettersText, newSettings->lettersCount + 1, jsonData["LettersText"].get<string>().c_str(), _TRUNCATE);
            
            	return newSettings;
            }
            
            vector<CodeResult> Codes::logic(CodesSearchSettings* settings, int skipping)
            {
            	vector<CodeResult> skippingResults;
            	int totalLenth = settings->searchTextLength * skipping;
            
            	for (int i = 0; i < settings->lastIndex; i++)
            	{
            		int index = 0;
            		int lettersCounter = 0;
            
            		for (int j = 0; j < totalLenth && i + j < settings->lettersCount; j += skipping)
            		{
            			char letterToCheck = settings->lettersText[i + j];
            			char searchTextLetter = settings->searchText[index];
            
            			if (searchTextLetter != letterToCheck)
            				break;
            
            			index++;
            			lettersCounter++;
            		}
            
            		if (lettersCounter == settings->searchTextLength)
            		{
            			CodeResult result = { i, skipping };
            			skippingResults.push_back(result);
            		}
            	}
            
            	return skippingResults;
            }
            
            #define EXPORTED_METHOD extern "C" __declspec(dllexport)
            
            EXPORTED_METHOD CodeResult* searchCodes(const char* settingsJson, int* resultCount)
            {
            	Codes codes;
            	return codes.search(settingsJson, resultCount);
            }
            
            EXPORTED_METHOD void releaseMemory(CodeResult* resultArray) { delete[] resultArray; }
            
            מ מנותק
            מ מנותק
            משחזר מידע
            כתב נערך לאחרונה על ידי
            #14

            @trhtkgsh כתב בבקשת מידע | פיתוח הצופן התנכ"י:

            ניסיתי לכתוב קוד ב-C# והמרתי אותו ל-C++

            המרת לdll?


            הפעלת ניהול דיסקים דרך הקובץ המצורף

            Hex editor חינמי

            T תגובה 1 תגובה אחרונה
            0
            • מ משחזר מידע

              @trhtkgsh כתב בבקשת מידע | פיתוח הצופן התנכ"י:

              ניסיתי לכתוב קוד ב-C# והמרתי אותו ל-C++

              המרת לdll?

              T מנותק
              T מנותק
              trhtkgsh
              כתב נערך לאחרונה על ידי
              #15

              @משחזר-מידע
              כתבתי קוד ב-C#, המרתי אותו ל-C++. בניתי DLL של C++ וקראתי לו ב-C#.
              רק זה שיפר את הביצועים באופן משמעותי.
              ע"י AI הבנתי יותר שכדאי לשנות את סוג האובייקטים לשיפור ביצועים.
              עדיין אין לי משהו טוב שעובד. כל הזמן תקלות שאני לא יודע איך לדבג C++.

              מ תגובה 1 תגובה אחרונה
              0
              • T trhtkgsh

                @משחזר-מידע
                כתבתי קוד ב-C#, המרתי אותו ל-C++. בניתי DLL של C++ וקראתי לו ב-C#.
                רק זה שיפר את הביצועים באופן משמעותי.
                ע"י AI הבנתי יותר שכדאי לשנות את סוג האובייקטים לשיפור ביצועים.
                עדיין אין לי משהו טוב שעובד. כל הזמן תקלות שאני לא יודע איך לדבג C++.

                מ מנותק
                מ מנותק
                משחזר מידע
                כתב נערך לאחרונה על ידי
                #16

                @trhtkgsh
                אתה מעלה כל התנך לזכרון מיד בהרצת התוכנה?
                או כל חיפוש אתה מעלה מחדש?
                או לא מעלה בכלל ומחפש בקובץ?


                הפעלת ניהול דיסקים דרך הקובץ המצורף

                Hex editor חינמי

                T תגובה 1 תגובה אחרונה
                0
                • מ משחזר מידע

                  @trhtkgsh
                  אתה מעלה כל התנך לזכרון מיד בהרצת התוכנה?
                  או כל חיפוש אתה מעלה מחדש?
                  או לא מעלה בכלל ומחפש בקובץ?

                  T מנותק
                  T מנותק
                  trhtkgsh
                  כתב נערך לאחרונה על ידי
                  #17

                  @משחזר-מידע
                  כל התנ"ך מועלה עם התוכנה וכל פסוק מכיל הרבה מידע עד לרמת האות.
                  וכך כל התנ"ך והמשנה (וכל טקסט אחר שיכניסו לתוכנה)

                  מ תגובה 1 תגובה אחרונה
                  0
                  • T trhtkgsh

                    @משחזר-מידע
                    כל התנ"ך מועלה עם התוכנה וכל פסוק מכיל הרבה מידע עד לרמת האות.
                    וכך כל התנ"ך והמשנה (וכל טקסט אחר שיכניסו לתוכנה)

                    מ מנותק
                    מ מנותק
                    משחזר מידע
                    כתב נערך לאחרונה על ידי משחזר מידע
                    #18

                    @trhtkgsh

                    דבר ראשון הייתי בודק איפה הזמן שלוקח
                    אם זה החיפוש עצמו
                    או אולי עוד לפני שהחיפוש מתחיל אם זה הקוד שלך או זמן הקריאה לdll וכו'


                    הפעלת ניהול דיסקים דרך הקובץ המצורף

                    Hex editor חינמי

                    T תגובה 1 תגובה אחרונה
                    0
                    • מ משחזר מידע

                      @trhtkgsh

                      דבר ראשון הייתי בודק איפה הזמן שלוקח
                      אם זה החיפוש עצמו
                      או אולי עוד לפני שהחיפוש מתחיל אם זה הקוד שלך או זמן הקריאה לdll וכו'

                      T מנותק
                      T מנותק
                      trhtkgsh
                      כתב נערך לאחרונה על ידי
                      #19

                      @משחזר-מידע
                      צוואר הבקבוק נמצא בחיפוש עצמו.
                      ניסיתי להחליף טיפוסים ומצביעים,
                      ניסיתי להריץ את כל החיפושים במקביל (את כל הטווח - 1,2,3,4....)
                      צריך להכיר את השפה ואת האוביקטים היעילים יותר ואת ניהול הזיכרון הטוב יותר כדי לשפר ביצועים.
                      לצערי אני לא מכיר את C++ ברמה הזו

                      מ תגובה 1 תגובה אחרונה
                      0
                      • T trhtkgsh

                        @משחזר-מידע
                        צוואר הבקבוק נמצא בחיפוש עצמו.
                        ניסיתי להחליף טיפוסים ומצביעים,
                        ניסיתי להריץ את כל החיפושים במקביל (את כל הטווח - 1,2,3,4....)
                        צריך להכיר את השפה ואת האוביקטים היעילים יותר ואת ניהול הזיכרון הטוב יותר כדי לשפר ביצועים.
                        לצערי אני לא מכיר את C++ ברמה הזו

                        מ מנותק
                        מ מנותק
                        משחזר מידע
                        כתב נערך לאחרונה על ידי משחזר מידע
                        #20

                        @trhtkgsh
                        אני חושב בקול (לא ניסיתי)
                        אולי הבעיה (הזמן שלוקח) הוא בהמרה מאותיות עבריות
                        אולי חיפוש בhex ואולי אפי Bin (שלא צריך המרה) יהי יותר מהיר


                        הפעלת ניהול דיסקים דרך הקובץ המצורף

                        Hex editor חינמי

                        תגובה 1 תגובה אחרונה
                        0

                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • חוקי הפורום
                        • לא נפתר
                        • משתמשים
                        • חיפוש גוגל בפורום
                        • צור קשר