From 3d125bc97892042e9e1b78d42fafa74d752d2c9e Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Tue, 2 May 2023 14:42:06 +0800 Subject: [PATCH] fix setting ui bug and change included path --- device/gxx-linux/main.cpp | 48 +++++++++ .../sln/usb_tools/Debug/usb_tools.exe | Bin 1767936 -> 1767936 bytes pc/code_twain/sln/usb_tools/DlgScanner.cpp | 4 +- .../usb_tools/scanner/opt_ui/DlgSetting.cpp | 1 + .../sln/usb_tools/scanner/scanner_handler.cpp | 4 +- .../sln/usb_tools/scanner/scanner_handler.h | 8 +- .../usb_tools/scanner/usb/async_usb_host.cpp | 2 +- .../usb_tools/scanner/usb/async_usb_host.h | 10 +- pc/code_twain/sln/usb_tools/usb_tools.vcxproj | 72 ++++++-------- .../sln/usb_tools/usb_tools.vcxproj.filters | 91 +++++++++--------- pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp | 4 +- 11 files changed, 143 insertions(+), 101 deletions(-) create mode 100644 device/gxx-linux/main.cpp diff --git a/device/gxx-linux/main.cpp b/device/gxx-linux/main.cpp new file mode 100644 index 0000000..6279872 --- /dev/null +++ b/device/gxx-linux/main.cpp @@ -0,0 +1,48 @@ +#include +#include +#include +#include +#include +#include + +void test() +{ + auto _start = std::chrono::steady_clock::now(); + int arr[1000000]; + for (size_t i = 0; i < 1000000; i++) + { + for (size_t j = 0; j < 1000; j++) + { + arr[i] = i; + } + } + auto times = std::chrono::duration(std::chrono::steady_clock::now() - _start).count(); + printf("times = %.2f \n", times); +} + +int main(int argc, char *argv[]) +{ + struct sched_param param; + int maxpri; + maxpri = sched_get_priority_max(SCHED_FIFO); //»ñÈ¡×î´óÖµ + if (maxpri == -1) + { + printf("sched_get_priority_max() failed \n"); + exit(1); + } + printf("%d \n", maxpri); + param.sched_priority = maxpri; + std::thread threadaa(test); + // if (sched_setscheduler(getpid(), SCHED_FIFO, ¶m) == -1) //设置优先级 + // { + // printf("sched_setscheduler() failed \n"); + // exit(1); + // } + // if(pthread_setschedparam(threadaa.native_handle(),SCHED_FIFO,¶m)) + // { + // printf("sched_setscheduler() failed \n"); + // exit(1); + // } + threadaa.join(); + return 0; +} \ No newline at end of file diff --git a/pc/code_twain/sln/usb_tools/Debug/usb_tools.exe b/pc/code_twain/sln/usb_tools/Debug/usb_tools.exe index c99fa54f156f8875ad982c60402430d3321cf04a..39cc9beae38756d8eb942c97acad67d633bb0a68 100644 GIT binary patch delta 49202 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ΜM_YXM`g%Eae{1FMgCAnOwnFaUU4Q5$TG# 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 diff --git a/pc/code_twain/sln/usb_tools/DlgScanner.cpp b/pc/code_twain/sln/usb_tools/DlgScanner.cpp index e654070..63252d1 100644 --- a/pc/code_twain/sln/usb_tools/DlgScanner.cpp +++ b/pc/code_twain/sln/usb_tools/DlgScanner.cpp @@ -10,8 +10,8 @@ #include #define TIMER_ID_REFRESH_BULK 1001 -#include -#include +#include +#include HMODULE g_my_inst; diff --git a/pc/code_twain/sln/usb_tools/scanner/opt_ui/DlgSetting.cpp b/pc/code_twain/sln/usb_tools/scanner/opt_ui/DlgSetting.cpp index a5eeb73..688d0a2 100644 --- a/pc/code_twain/sln/usb_tools/scanner/opt_ui/DlgSetting.cpp +++ b/pc/code_twain/sln/usb_tools/scanner/opt_ui/DlgSetting.cpp @@ -236,6 +236,7 @@ void dlg_setting::on_init_dialog(void) MoveWindow(hwnd(), r.left, r.top, r.right - r.left, r.bottom - r.top, TRUE); size.cy -= diff; + size.cx = RECT_W(r); for (int i = 0; page = get_page(i); ++i) { MoveWindow(page->hwnd(), 0, y, size.cx, size.cy - y, TRUE); diff --git a/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp b/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp index 9d394d7..95073f8 100644 --- a/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp +++ b/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp @@ -2,8 +2,8 @@ #include "./usb/async_usb_host.h" -#include -#include +#include +#include diff --git a/pc/code_twain/sln/usb_tools/scanner/scanner_handler.h b/pc/code_twain/sln/usb_tools/scanner/scanner_handler.h index df7f0c8..a72cc22 100644 --- a/pc/code_twain/sln/usb_tools/scanner/scanner_handler.h +++ b/pc/code_twain/sln/usb_tools/scanner/scanner_handler.h @@ -4,10 +4,10 @@ // #pragma once -#include "referer.h" -#include "data.h" -#include "packet.h" -#include "ipc_util.h" +#include "common/referer.h" +#include "io/data.h" +#include "common/packet.h" +#include "common/ipc_util.h" #include #include diff --git a/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.cpp b/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.cpp index dbe0d4e..113db26 100644 --- a/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.cpp +++ b/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.cpp @@ -2,7 +2,7 @@ -#include +#include diff --git a/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.h b/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.h index 2129f38..777e012 100644 --- a/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.h +++ b/pc/code_twain/sln/usb_tools/scanner/usb/async_usb_host.h @@ -4,16 +4,16 @@ // #pragma once -#include "referer.h" -#include "data.h" -#include "packet.h" -#include "ipc_util.h" +#include "common/referer.h" +#include "io/data.h" +#include "common/packet.h" +#include "common/ipc_util.h" #include #include #include #include -#include +#include typedef struct _usb_ep diff --git a/pc/code_twain/sln/usb_tools/usb_tools.vcxproj b/pc/code_twain/sln/usb_tools/usb_tools.vcxproj index e4bb095..c34a270 100644 --- a/pc/code_twain/sln/usb_tools/usb_tools.vcxproj +++ b/pc/code_twain/sln/usb_tools/usb_tools.vcxproj @@ -76,7 +76,7 @@ true - $(ProjectDir)..\..\..\sdk\include\;$(ProjectDir)..\..\device\win_usb\;$(ProjectDir)..\sdk\include\;$(ProjectDir)..\..\..\..\device\gxx-linux\usb\src\common\;$(IncludePath) + $(ProjectDir)..\..\..\sdk\include\;$(ProjectDir)..\..\device\win_usb\;$(ProjectDir)..\sdk\include\;$(ProjectDir)..\..\..\..\device\gxx-linux\usb\src\async_model\;$(IncludePath) $(SolutionDir)sdk\lib\$(Configuration);$(ProjectDir)..\..\..\sdk\lib\win\$(PlatformTarget)\oem\huagao;$(LibraryPath) @@ -86,7 +86,7 @@ false - $(ProjectDir)..\..\..\sdk\include\;$(ProjectDir)..\..\device\win_usb\;$(ProjectDir)..\sdk\include\;$(ProjectDir)..\..\..\..\device\gxx-linux\usb\src\common\;$(IncludePath) + $(ProjectDir)..\..\..\sdk\include\;$(ProjectDir)..\..\device\win_usb\;$(ProjectDir)..\sdk\include\;$(ProjectDir)..\..\..\..\device\gxx-linux\usb\src\async_model\;$(IncludePath) $(SolutionDir)sdk\lib\$(Configuration);$(ProjectDir)..\..\..\sdk\lib\win\$(PlatformTarget)\oem\huagao;$(LibraryPath) @@ -196,14 +196,15 @@ - - - - - - - - + + + + + + + + + @@ -224,48 +225,37 @@ - - NotUsing - NotUsing - NotUsing - NotUsing - - - NotUsing - NotUsing - NotUsing - NotUsing - - - NotUsing - NotUsing - NotUsing - NotUsing - - + NotUsing NotUsing - - NotUsing - - + NotUsing NotUsing - NotUsing - NotUsing - + NotUsing NotUsing - NotUsing - NotUsing - + + NotUsing + NotUsing + + + NotUsing + NotUsing + + + NotUsing + NotUsing + + + NotUsing + NotUsing + + NotUsing NotUsing - NotUsing - NotUsing NotUsing diff --git a/pc/code_twain/sln/usb_tools/usb_tools.vcxproj.filters b/pc/code_twain/sln/usb_tools/usb_tools.vcxproj.filters index c8df840..40ed327 100644 --- a/pc/code_twain/sln/usb_tools/usb_tools.vcxproj.filters +++ b/pc/code_twain/sln/usb_tools/usb_tools.vcxproj.filters @@ -57,30 +57,9 @@ Imports\usbview - - Imports - - - Imports - - - Imports - - - Imports - 头文件 - - Imports - - - Imports - - - Imports - scanner @@ -102,7 +81,31 @@ opt-ui - + + Imports + + + Imports + + + Imports + + + Imports + + + Imports + + + Imports + + + Imports + + + Imports + + Imports @@ -125,30 +128,9 @@ Imports\usbview - - Imports - - - Imports - - - Imports - - - Imports - 源文件 - - Imports - - - Imports - - - Imports - scanner @@ -170,7 +152,28 @@ opt-ui - + + Imports + + + Imports + + + Imports + + + Imports + + + Imports + + + Imports + + + Imports + + Imports diff --git a/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp b/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp index 28877b3..4aa4730 100644 --- a/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp +++ b/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp @@ -21,8 +21,8 @@ #pragma warning(disable: 4996) -#include -#include +#include +#include namespace usb {