国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情

聚集網(wǎng)(jujiwang.com) - 收錄免費分類目錄信息軟文發(fā)布網(wǎng)址提交
免費加入

mainwin32 與 .NET 的對比:優(yōu)缺點分析 (mainwindow是什么程序)

文章編號:10617時間:2024-09-28人氣:


mainwin32

前言

MainWin32 和 .NET 都是流行的 Windows 開發(fā)框架。MainWin32 是一種基于 C 語言的底層框架,而 .NET 是一種基于托管代碼的現(xiàn)代框架。開發(fā)者在選擇合適的框架時須權(quán)衡多種因素。本文將對 MainWin32 和 .NET 進行對比分析,幫助開發(fā)者做出明智決策。

優(yōu)缺點對比

MainWin32

優(yōu)點:性能出色:MainWin32 是一個底層框架,提供了對 Windows API 的直接訪問,這使其具有出色的性能。高控制性:開發(fā)者擁有對底層代碼的完全控制,這使得他們可以創(chuàng)建高度定制的應(yīng)用程序。低系統(tǒng)開銷:MainWin32 的系統(tǒng)開銷很低,使其非常適合開發(fā)輕量級和資源受限的應(yīng)用程序。缺點:學(xué)習(xí)曲線陡峭:MainWin32 需要開發(fā)者對 Windows API 有深入的了解,學(xué)習(xí)曲線陡峭。代碼復(fù)雜度高:MainWin32 需要開發(fā)者手動管理內(nèi)存和資源,這可能導(dǎo)致代碼復(fù)雜度較高。缺乏現(xiàn)代功能:MainWin32 缺乏某些現(xiàn)代功能,例如集成的垃圾回收和類型安全。

.NET

優(yōu)點:易于使用:.NET 是一種托管框架,提供了直觀的語法和簡化的開發(fā)體驗。高效開發(fā):.NET 集成了各種庫和工具,使開發(fā)者能夠快速高效地開發(fā)應(yīng)用程序。豐富的功能:.NET 提供了廣泛的功能,例如垃圾回收、類型安全和跨平臺支持。缺點:性能較低:與 MainWin32 相比,.NET 的性能較低,因為它需要額外的步驟來管理托管代碼。系統(tǒng)開銷較高:.NET 具有較高的系統(tǒng)開銷,因為它需要運行時環(huán)境和垃圾回收器。許可費用:雖然 .NETFramework 是免費的,但 Visual Studio 等開發(fā)工具需要付費許可。

適用場景

適合使用 MainWin32 的場景:需要高性能和低系統(tǒng)開銷的應(yīng)用程序需要高度定制的應(yīng)用程序需要對底層代碼有完全控制的應(yīng)用程序適合使用 .NET 的場景:需要快速開發(fā)和易于維護的應(yīng)用程序需要跨平臺支持的應(yīng)用程序需要現(xiàn)代功能的應(yīng)用程序

結(jié)論

MainWin32 和 .NET 都是適用于 Windows 開發(fā)的強大框架。在選擇合適的框架時,開發(fā)者應(yīng)考慮應(yīng)用程序的特定要求和制約因素。MainWin32 提供了出色的性能和控制度,而 .NET 提供了易于使用和豐富的功能。通過權(quán)衡優(yōu)缺點并考慮適用場景,開發(fā)者可以做出明智的決策,以選擇最適合其項目需求的框架。

vb.net怎么確定一個pid是否存在?

正好我寫個一個函數(shù)封裝在DLL里了,代碼是這樣的:

檢查進程是否運行 要檢查的進程名 Public Function CheckProcessByName(ByVal ProcessName As String) As BooleanDim MgmtClass As New ManagementClass(Win32_Process)Dim rtnVal As Boolean = FalseDim mo As New ManagementObject()For Each mo In ()If mo(Name)()() = () ThenrtnVal = TrueEnd IfNextReturn rtnValEnd Function知道PID的話: 返回所有窗口句柄 Public Function ListAllProcessesHandle() As StringDim sb As New StringBuilder()Dim p As New Process()For Each p In (.)TryIf > 0 (句柄: + () + )End IfCatchEnd TryNextReturn ()End Function 窗口隱藏進程總有吧,函數(shù)調(diào)用的參數(shù)是進程名,不是窗口名。函數(shù)是自己寫的沒有調(diào)用API

c語言中,在main函數(shù)一開始定義了 int i;后來又在for語句中有int i 這樣的語句,為什么編譯時出錯。

C語言是一種計算機程序設(shè)計語言。 它既有高級語言的特點,又具有匯編語言的特點。 它可以作為系統(tǒng)設(shè)計語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。 因此,它的應(yīng)用范圍廣泛。 C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用C語言編寫的。 C語言具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。 它是數(shù)值計算的高級語言。 常用的C語言IDE(集成開發(fā)環(huán)境)有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,Microsoft C,High C,Turbo C等等......C語言的缺點1. C語言的缺點主要是表現(xiàn)在數(shù)據(jù)的封裝性上,這一點使得C在數(shù)據(jù)的安全性上做的有很大缺陷,這也是C和C++的一大區(qū)別。 2. C語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)組下標(biāo)越界不作檢查等。 從應(yīng)用的角度,C語言比其他高級語言較難掌握。 [C語言指針]指針就是C語言的一大特色,可以說C語言優(yōu)于其它高級語言的一個重要原因就是因為它有指針操作可以直接進行靠近硬件的操作,但是C的指針操作也給它帶來了很多不安全的因素。 C++在這方面做了很好的改進,在保留了指針操作的同時又增強了安全性。 Java取消了指針操作,提高了安全性。 C源程序的結(jié)構(gòu)特點1.一個C語言源程序可以由一個或多個源文件組成。 2.每個源文件可由一個或多個函數(shù)組成。 3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數(shù),即主函數(shù)。 4.源程序中可以有預(yù)處理命令(include 命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面。 5.每一個說明,每一個語句都必須以分號結(jié)尾。 但預(yù)處理命令,函數(shù)頭和花括號“}”之后不能加分號。 6.標(biāo)識符,關(guān)鍵字之間必須至少加一個空格以示間隔。 若已有明顯的間隔符,也可不再加空格來間隔。 學(xué)習(xí)C語言在初學(xué)C語言時,可能會遇到有些問題理解不透,或者表達(dá)方式與以往數(shù)學(xué)學(xué)習(xí)中不同(如運算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學(xué)習(xí),待學(xué)完后面的章節(jié)知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學(xué)最欠缺,大多學(xué)不好的就是因為一開始遇到困難就放棄,曾經(jīng)和好多同學(xué)談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節(jié)課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎么說自己聽不懂呢?相應(yīng)的根本就沒學(xué)習(xí),又談何學(xué)的好?學(xué)習(xí)C語言始終要記住“曙光在前頭”和“千金難買回頭看”,“千金難買回頭看”是學(xué)習(xí)知識的重要方法,就是說,學(xué)習(xí)后面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學(xué)生最不易做到的,然而卻又是最重要的。 學(xué)習(xí)C語言就是要經(jīng)過幾個反復(fù),才能前后貫穿,積累應(yīng)該掌握的C知識。 那么,我們?nèi)绾螌W(xué)好《C程序設(shè)計》呢?一.學(xué)好C語言的運算符和運算順序這是學(xué)好《C程序設(shè)計》的基礎(chǔ),C語言的運算非常靈活,功能十分豐富,運算種類遠(yuǎn)多于其它程序設(shè)計語言。 在表達(dá)式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達(dá)式更為簡單,但初學(xué)者往往會覺的這種表達(dá)式難讀,關(guān)鍵原因就是對運算符和運算順序理解不透不全。 當(dāng)多種不同運算組成一個運算表達(dá)式,即一個運算式中出現(xiàn)多種運算符時,運算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。 在學(xué)習(xí)中,只要我們對此合理進行分類,找出它們與我們在數(shù)學(xué)中所學(xué)到運算之間的不同點之后,記住這些運算也就不困難了,有些運算符在理解后更會牢記心中,將來用起來得心應(yīng)手,而有些可暫時放棄不記,等用到時再記不遲。 先要明確運算符按優(yōu)先級不同分類,《C程序設(shè)計》運算符可分為15種優(yōu)先級,從高到低,優(yōu)先級為1 ~ 15,除第2、3級和第14級為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級運算符的運算順序.二.學(xué)好C語言的四種程序結(jié)構(gòu)(1)順序結(jié)構(gòu)順序結(jié)構(gòu)的程序設(shè)計是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。 例如;a = 3,b = 5,現(xiàn)交換a,b的值,這個問題就好像交換兩個杯子水,這當(dāng)然要用到第三個杯子,假如第三個杯子是c,那么正確的程序為: c = a; a = b; b = c; 執(zhí)行結(jié)果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執(zhí)行結(jié)果就變成a = b = c = 5,不能達(dá)到預(yù)期的目的,初學(xué)者最容易犯這種錯誤。 順序結(jié)構(gòu)可以獨立使用構(gòu)成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結(jié)構(gòu),例如計算圓的面積,其程序的語句順序就是輸入圓的半徑 r,計算s = 3.*r*r,輸出圓的面積s。 不過大多數(shù)情況下順序結(jié)構(gòu)都是作為程序的一部分,與其它結(jié)構(gòu)一起構(gòu)成一個復(fù)雜的程序,例如分支結(jié)構(gòu)中的復(fù)合語句、循環(huán)結(jié)構(gòu)中的循環(huán)體等。 (2) 分支結(jié)構(gòu)順序結(jié)構(gòu)的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。 對于要先做判斷再選擇的問題就要使用分支結(jié)構(gòu)。 分支結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語句出現(xiàn)的物理順序。 分支結(jié)構(gòu)的程序設(shè)計方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當(dāng)?shù)姆种дZ句。 分支結(jié)構(gòu)適合于帶有邏輯或關(guān)系比較等條件判斷的計算,設(shè)計這類程序時往往都要先繪制其程序流程圖,然后根據(jù)程序流程寫出源程序,這樣做把程序設(shè)計分析與語言分開,使得問題簡單化,易于理解。 程序流程圖是根據(jù)解題分析所繪制的程序執(zhí)行流程圖。 學(xué)習(xí)分支結(jié)構(gòu)不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執(zhí)行的功能,嵌套結(jié)構(gòu)也就不難了。 嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。 下面我介紹幾種基本的分支結(jié)構(gòu)。 ①if(條件){分支體}這種分支結(jié)構(gòu)中的分支體可以是一條語句,此時“”可以省略,也可以是多條語句即復(fù)合語句。 它有兩條分支路徑可選,一是當(dāng)條件為真,執(zhí)行分支體,否則跳過分支體,這時分支體就不會執(zhí)行。 如:要計算x的絕對值,根據(jù)絕對值定義,我們知道,當(dāng)x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;②if(條件)else這是典型的分支結(jié)構(gòu),如果條件成立,執(zhí)行分支1,否則執(zhí)行分支2,分支1和分支2都可以是1條或若干條語句構(gòu)成。 如:求ax^2+bx+c=0的根分析:因為當(dāng)b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復(fù)根。 其程序段如下:d=b*b-4*a*c;if(d>=0){x1=(-b+sqrt(d))/2a;x2=(-b-sqrt(d))/2a;printf(“x1=%8.4f,x2=%8.4f\n”,x1,x2);}else{r=-b/(2*a);i =sqrt(-d)/(2*a);printf(“x1=%8.4f+%8.4fi\n”r, i);printf(“x2=%8.4f-%8.4fi\n”r,i)}③嵌套分支語句:其語句格式為:if(條件1) ;else if(條件2) else if(條件3) ……else if(條件n) else 嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套后,語句結(jié)構(gòu)變得非常復(fù)雜,對于程序的閱讀和理解都極為不便,建議嵌套在3重以內(nèi),超過3重可以用下面的語句。 ④switch開關(guān)語句:該語句也是多分支選擇語句,到底執(zhí)行哪一塊,取決于開關(guān)設(shè)置,也就是表達(dá)式的值與常量表達(dá)式相匹配的那一路,它不同if… else 語句,它的所有分支都是并列的,程序執(zhí)行時,由第一分支開始查找,如果相匹配,執(zhí)行其后的塊,接著執(zhí)行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。 這個語句在應(yīng)用時要特別注意開關(guān)條件的合理設(shè)置以及break語句的合理應(yīng)用。 (3)循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)可以減少源程序重復(fù)書寫的工作量,用來描述重復(fù)執(zhí)行某段算法的問題,這是程序設(shè)計中最能發(fā)揮計算機特長的程序結(jié)構(gòu),C語言中提供四種循環(huán),即 goto循環(huán)、while循環(huán)、do –while循環(huán)和for循環(huán)。 四種循環(huán)可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環(huán),因為強制改變程序的順序經(jīng)常會給程序的運行帶來不可預(yù)料的錯誤,在學(xué)習(xí)中我們主要學(xué)習(xí)while、do…while、for三種循環(huán)。 常用的三種循環(huán)結(jié)構(gòu)學(xué)習(xí)的重點在于弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環(huán)的格式和執(zhí)行順序,將每種循環(huán)的流程圖理解透徹后就會明白如何替換使用,如把while循環(huán)的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。 特別要注意在循環(huán)體內(nèi)應(yīng)包含趨于結(jié)束的語句(即循環(huán)變量值的改變),否則就可能成了一個死循環(huán),這是初學(xué)者的一個常見錯誤。 在學(xué)完這三個循環(huán)后,應(yīng)明確它們的異同點:用while和do…while循環(huán)時,循環(huán)變量的初始化的操作應(yīng)在循環(huán)體之前,而for循環(huán)一般在語句1中進行的;while 循環(huán)和for循環(huán)都是先判斷表達(dá)式,后執(zhí)行循環(huán)體,而do…while循環(huán)是先執(zhí)行循環(huán)體后判斷表達(dá)式,也就是說do…while的循環(huán)體最少被執(zhí)行一次,而while 循環(huán)和for就可能一次都不執(zhí)行。 另外還要注意的是這三種循環(huán)都可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán),而goto語句與 if構(gòu)成的循環(huán),是不能用break和 continue語句進行控制的。 順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)并不彼此孤立的,在循環(huán)中可以有分支、順序結(jié)構(gòu),分支中也可以有循環(huán)、順序結(jié)構(gòu),其實不管哪種結(jié)構(gòu),我們均可廣義的把它們看成一個語句。 在實際編程過程中常將這三種結(jié)構(gòu)相互結(jié)合以實現(xiàn)各種算法,設(shè)計出相應(yīng)程序,但是要編程的問題較大,編寫出的程序就往往很長、結(jié)構(gòu)重復(fù)多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設(shè)計成模塊化結(jié)構(gòu)。 (4)模塊化程序結(jié)構(gòu)C語言的模塊化程序結(jié)構(gòu)用函數(shù)來實現(xiàn),即將復(fù)雜的C程序分為若干模塊,每個模塊都編寫成一個C函數(shù),然后通過主函數(shù)調(diào)用函數(shù)及函數(shù)調(diào)用函數(shù)來實現(xiàn)一大型問題的C程序編寫,因此常說:C程序=主函數(shù)+子函數(shù)。 因此,對函數(shù)的定義、調(diào)用、值的返回等中要尤其注重理解和應(yīng)用,并通過上機調(diào)試加以鞏固。 三.掌握一些簡單的算法編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應(yīng)的編程語言寫出代碼。 這就要求掌握算法,根據(jù)我們的《C程序設(shè)計》教學(xué)大綱中,只要求我們掌握一些簡單的算法,在掌握這些基本算法后,要完成對問題的分析就容易了。 如兩個數(shù)的交換、三個數(shù)的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些算法的內(nèi)在含義結(jié)語:當(dāng)我們把握好上述幾方面后,只要同學(xué)們能克服畏難、厭學(xué)、上課能專心聽講,做好練習(xí)與上機調(diào)試,其實C語言并不難學(xué)C源程序的關(guān)鍵字---------------------------------------------------------------------------------------所謂關(guān)鍵字就是已被C語言本身使用, 不能作其它用途使用的字。 例如關(guān)鍵字不能用作變量名、函數(shù)名等由ANSI標(biāo)準(zhǔn)定義的C語言關(guān)鍵字共32個 :auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字四類。 1 數(shù)據(jù)類型關(guān)鍵字(12個):(1) char :聲明字符型變量或函數(shù)(2) double :聲明雙精度變量或函數(shù)(3) enum :聲明枚舉類型(4) float:聲明浮點型變量或函數(shù)(5) int: 聲明整型變量或函數(shù)(6) long :聲明長整型變量或函數(shù)(7) short :聲明短整型變量或函數(shù)(8) signed:聲明有符號類型變量或函數(shù)(9) struct:聲明結(jié)構(gòu)體變量或函數(shù)(10) union:聲明聯(lián)合數(shù)據(jù)類型(11) unsigned:聲明無符號類型變量或函數(shù)(12) void :聲明函數(shù)無返回值或無參數(shù),聲明無類型指針(基本上就這三個作用)(2)控制語句關(guān)鍵字(12個):A循環(huán)語句(1) for:一種循環(huán)語句(可意會不可言傳)(2) do :循環(huán)語句的循環(huán)體(3) while :循環(huán)語句的循環(huán)條件(4) break:跳出當(dāng)前循環(huán)(5) continue:結(jié)束當(dāng)前循環(huán),開始下一輪循環(huán)B條件語句(1)if: 條件語句(2)else :條件語句否定分支(與 if 連用)(3)goto:無條件跳轉(zhuǎn)語句C開關(guān)語句(1)switch :用于開關(guān)語句(2)case:開關(guān)語句分支(3)default:開關(guān)語句中的“其他”分支Dreturn :子程序返回語句(可以帶參數(shù),也看不帶參數(shù))3 存儲類型關(guān)鍵字(4個)(1)auto :聲明自動變量 一般不使用(2)extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)(3)register:聲明積存器變量(4)static :聲明靜態(tài)變量4 其它關(guān)鍵字(4個):(1)const :聲明只讀變量(2)sizeof:計算數(shù)據(jù)類型長度(3)typedef:用以給數(shù)據(jù)類型取別名(當(dāng)然還有其他作用(4)volatile:說明變量在程序執(zhí)行中可被隱含地改變

關(guān)于electron-builder打包遇到的一點點問題

Electron打包一開始時出現(xiàn)error,去解決真的好累,報錯一個接一個,而且我這和網(wǎng)上一些bug解決方案還有點不同,不能照抄別人的作業(yè)。

本次我使用的electron打包工具是electron-builder(以后就換其他的試試)

當(dāng)然也是我學(xué)藝不精了?

打包正常流程

在說自己錯誤經(jīng)歷之前,先走一遍可以正確打包的流程吧

為了讓流程看起來干凈些,創(chuàng)建一個獨立的electron項目

使用yarninit命令創(chuàng)建項目,注意需要寫明author作者和description描述,后續(xù)打包時如果沒有會出現(xiàn)報錯

使用yarnaddelectron-D和yarnaddelectron-builder命令安裝需要的程序包。安裝完程序包后,在中添加運行命令和打包命令

scripts:{start:electron.,electron:build:electron-builder--win--x64},

如果yarnaddelectron-D出錯,可以看看是不是和我這篇文章中的錯誤相似:《yarnaddelectron安裝失敗》?

的對比

我在之前使用vue和vuecli4創(chuàng)建了一款簡易的小說閱讀器,現(xiàn)在將其使用yarnbuild命令打包出來,生成了一份dist

里面的頁面可以直接在瀏覽器中打開,就能夠直接看到效果。不過現(xiàn)在先將此文件夾改個名字在放入electron項目中,不然的話等等會和打包出來文件夾名字重復(fù)

在同級目錄下創(chuàng)建一個入口文件,該文件是electron所必須的程序進入文件

可以像下面這樣寫,這是一種較為簡單的入口文件寫法:

constelectron=require(electron);//控制應(yīng)用生命周期的模塊。const{app}=electron;//創(chuàng)建原生瀏覽器窗口的模塊。const{BrowserWindow}=electron;letmainWindow;functioncreateWindow(){//創(chuàng)建瀏覽器窗口。mainWindow=newBrowserWindow({width:480,height:670});//加載應(yīng)用的。(`file://${__dirname}/common/`);//啟用開發(fā)工具//();}//Electron會在初始化后并準(zhǔn)備(ready,createWindow);//當(dāng)全部窗口關(guān)閉時退出。(window-all-closed,()=>{//否則絕大部分應(yīng)用及其菜單欄會保持激活。if(!==darwin){();}});(activate,()=>{//絕大部分應(yīng)用會重新創(chuàng)建一個窗口。if(mainWindow===null){createWindow();}});

現(xiàn)在就可以嘗試使用yarnstart命令運行electron了,如果不出意外的話,會成功跳出小說閱讀器界面

此時小說閱讀器并沒有打包

接下來,使用yarnelectron:build命令進行打包,一路順利,沒有報錯,就能看到生成了一個dist文件夾

PS:在編寫build去對打包進行配置,我一開始以為這是必須的,后來發(fā)現(xiàn)即使不寫,基礎(chǔ)打包也可以成功。

在此文件夾中,如果使用打開文件,那么將會進行安裝程序,并且桌面會出現(xiàn)程序圖標(biāo),點擊即可打開項目。 此時已經(jīng)是標(biāo)準(zhǔn)的桌面應(yīng)用的了。

當(dāng)然如果不想安裝,只是想看看打包后的結(jié)果,可以打開內(nèi)部的win-unpacked/,這樣能跳過安裝直接啟動程序。

到目前為止,一個正確無誤的打包流程就走完了!

項目打包遇到各種問題

那么接下來,就說說我真正的錯誤之路吧:

省略一些中間的步驟,直到上面所說的第四步為止,我一切都還是順利的。

那么問題就出在第五步上,yarnelectron:build

問題1

運行此命令時,一開始還是挺順利的,但是很快遇到了第一個問題:

?Get當(dāng)遇到打包報錯,肯定是哪里不會搜哪里了,發(fā)現(xiàn)原因還是和連接有關(guān),根據(jù)網(wǎng)上找到的參考文章,可以通過先將下載下來,然后放到C:\Users\Administrator\AppData\Local\electron\Cache文件夾下。

參考文章:

同時分享一下下載包地址:

但是很尷尬的是,我Local下這并沒有electron文件夾。那么能否自己創(chuàng)建一個然后放入呢?

答案:不行,自己創(chuàng)建了一個electron也沒有用,后來想是不是因為我沒有全局安裝electron,可以把這放入項目的node_modules里,不過還是失敗了,只能另辟蹊徑,在中進行配置。(后面的nsis和winCodeSign也同樣如此)

其實這可能和這臺電腦一開始的配置有關(guān)系,因為后來我使用自己筆記本,發(fā)現(xiàn)Local下是存在electron和electron-builder兩個文件夾的。

在下載文件到本地失敗后,我采用在中進行設(shè)置electron_mirror路徑的方式。

的打開路徑在C:\Users\用戶文件夾下,同時也可以使用cmd命令直接打開此文件:npmconfigedit

然后通過添加一句話:electron_mirror=這樣包就能夠成功安裝了

問題2

成功解決了的問題之后,我又遇到了新的問題:

?Get這兩種同樣也是在中進行配置的,添加的是electron-builder-binaries_mirror的路徑:

electron-builder-binaries_mirror=其實一開始我添加的是路徑,但是發(fā)現(xiàn)會出現(xiàn)報錯,沒有這個地址,然后經(jīng)過實際下載才發(fā)現(xiàn)nsis-3.0.4.1.7z的地址是,所以對electron-builder-binaries_mirror進行了重新設(shè)置,然后成功了

現(xiàn)在讓我重新進行打包,發(fā)現(xiàn)到此,沒有出現(xiàn)任何報錯,并且打包成功了

我遇到的問題終于解決了,和網(wǎng)上找到的直接下載包到本地方式不同,解決方案是修改了下載源。最后我發(fā)現(xiàn)成功一次之后,把中的修改下載源注釋掉后續(xù)打包也可以成功了?

總結(jié)

這個打包問題當(dāng)時改的我心累,因為我下載到本地也還是不成功,最后修修改改,通過修改成功。 期間甚至想放棄electron-builder這種方式打包,中間我去用了一下ElectronForge。 發(fā)現(xiàn)這個居然輸入命令要在gitbash里,并且會對你的重寫,這還是算了。

現(xiàn)在electron打包應(yīng)該還有一種electron-package的方式,不過我沒有去嘗試,可能也是當(dāng)時對builder已經(jīng)上頭了,一心要解決掉這個報錯。

遇到報錯,努力一把,總會攻克的。(當(dāng)然這個問題困了你一天以上,建議找找其他替代方案)

原文:

CMAKE_RC_COMPILER 是什么東西

cmake vs qmakeqmake 是為 Qt 量身打造的,使用起來非常方便cmake 使用上不如qmake簡單直接,但復(fù)雜換來的是強大的功能內(nèi)置的 out-of source 構(gòu)建。 (目前QtCreator為qmake也默認(rèn)啟用了該功能,稱:shadow build)為各種平臺和場景提供條件編譯可處理多個可執(zhí)行文件情況,和很好配合 QtTest 工作如何選擇?Using CMake to Build Qt Projects 一文中說:對簡單的Qt工程,采用 qmake對復(fù)雜度超過 qmake 處理能力的,采用 cmake盡管如此,如果簡單Qt的工程都不知道怎么用 cmake 構(gòu)建,復(fù)雜的工程,就更不知道如何使用 cmake 了。 還是從簡單的學(xué)起吧簡單的 Qt 程序#include CoreApplication>#include int main(int argc, char** argv){QCoreApplication app(argc, argv);qDebug()< -O coff -i -o )endif(MINGW)SET(example_SRCS res/)SET(example_MOC_SRCS mainwindow.h widget.h)QT4_WRAP_CPP(example_MOCS ${example_MOC_SRCS})QT4_ADD_RESOURCES(example_RCC_SRCS )SET(example_SRCS ${example_SRCS} ${example_MOCS} ${example_RCC_SRCS})ADD_EXECUTABLE(example WIN32 ${example_SRCS})TARGET_LINK_LIBRARIES(example ${QT_LIBRARIES})對Qt的資源文件,使用 QT4_ADD_RESOURCES 來調(diào)用rcc進行預(yù)處理對 Windows 資源文件,直接和源文件一樣,添加到列表中即可。 只是:MinGW 下僅僅這么做還不行,上面的 MinGW 塊用來修復(fù)這個問題Debug 與 Releaseqmake使用 qmake 時,可以在 pro 文件內(nèi)分別為兩種模式設(shè)置不同的選項。 使用時,可以直接 make release 或 make debug 來編譯不同的版本cmake不同于 qmake,由于 cmake 采用 out-of-source 方式。 故:建立debug release兩目錄,分別在其中執(zhí)行cmake -DCMAKE_BUILD_TYPE=Debug(或Release)需要編譯不同版本時進入不同目錄執(zhí)行make對生成 msvc 工程的情況, CMAKE_BUILD_TYPE 不起作用。 生成工程后使用IDE自帶的模式選擇。

如何看MFC程序代碼

.NET

如何看MFC 程序代碼 看下面內(nèi)容之前,建議你學(xué)學(xué)《深入淺出MFC》,這本書強烈推薦! 現(xiàn)在只是做個了解。 不妨做個知識備份! 在MFC 程序中,我們并不經(jīng)常直接調(diào)用Windows API,而是從MFC 類創(chuàng)建對象并調(diào)用屬于這些對象的成員函數(shù).也就是說MFC 封裝了Windows API 你說你喜歡C++而MFC 換一種說法就是一個用C++寫的一個函數(shù)庫然后你來調(diào)用只不過這個類不是你寫的MFC 提供數(shù)百個類,最重要的、也是編寫任何VC++應(yīng)用程序都必不可少的兩個類CWinApp 和CFrameWnd,這兩個類是編寫復(fù)雜龐大應(yīng)用程序的基石。 1 封裝特性:構(gòu)成MFC 框架的是MFC 類庫而MFC 類庫又是C++的一個類庫。 這些類封裝WIN32 應(yīng)用程序編程接口,OLE(Object Link Embed 對象鏈接嵌入) 特性,ODBC 和DAO 數(shù)據(jù)訪問的功能。 2 繼承特性:MFC 抽象出了眾多類的共同特性,并設(shè)計出一些基類作為實現(xiàn)其他類的基礎(chǔ),這些類中最重要的類是 CObject 類和CCmdTarget 類,程序員可以從適當(dāng)?shù)腗FC 類中派生出自己的類,實現(xiàn)特定的功能達(dá)到編程的目的。 3 虛擬和消息映射:MFC 是以C++為基礎(chǔ),當(dāng)然支持虛函數(shù),但作為一個編程框架必須要解決的是效率問題:如果MFC 僅僅通過虛函數(shù)來支持動態(tài)約束必然會產(chǎn)生大量的虛函數(shù)表這樣編程框架過于臃腫而且消耗更多的內(nèi)存。 但是MFC 建立了消息映射機制這樣降低了內(nèi)存的使用卻大大提高了效率消息映射是一個將消息和成員函數(shù)相互關(guān)聯(lián)的表,當(dāng)應(yīng)用程序的框架窗口接收到一個消息時,MFC 將搜索該窗口的消息映射,如果存在一個處理消息的處理程序,那么就調(diào)用該處理程序.它通過宏來實現(xiàn)消息到成員函數(shù)的映射,而且這些函數(shù)不必是虛擬的成員函數(shù),這樣不需要為消息映射函數(shù)生成一個很大的虛擬函數(shù)表(V 表),節(jié)省內(nèi)存。 MFC 消息映射機制:將消息與消息處理函數(shù)聯(lián)系起來,形成一一對應(yīng)的機制。 消息映射宏聲明:DECLARE_MESSAGE_MAP 定義:BEGIN_MESSAGE_MAP ON_COMMAND ON_CONTROL ON_MESSAGE END_MESSAGE_MAP MFC 主要組成部分:類、宏和全局函數(shù)。 類是MFC 中最主要的內(nèi)容。 MFC 類是以層次結(jié)構(gòu)方式組織起來的。 MFC 中的類分成兩部分,除了一些輔助類,大多數(shù)的MFC 類是直接或間接從根類CObject 派生而來。 MFC 宏主要功能:消息映射、運行時對象類型服務(wù)、診斷服務(wù)、異常處理。 MFC 約定:全局函數(shù)以Afx為前綴,全局變量以afx為前綴MFC 類的層次關(guān)系CObject 項目類)-CCmdTarget(消息響應(yīng)類)-{CWinThread(線程類)-CWinApp(Window 應(yīng)用程序類)CDocument(文檔類)CWnd(窗體類)-[CFrameWnd(框架類)CView(視圖類)]}CObject 類由于MFC 中大部分類是從CObject 類繼承而來的,CObject 類描述了幾乎所有的MFC 類的一些公共特性,CObject 類為程序員提供了對象診斷、運行時類型識別和序列化等功能。 CCmdTarget 類由CObject 類直接派生而來,它負(fù)責(zé)將消息發(fā)送到能夠響應(yīng)這些消息的對象。 它是所有能進行消息映射的MFC 類的基類。 CWinApp 類在任何MFC 應(yīng)用程序中有且僅有一個CWinApp 派生類的對象,它代表了程序中運行的主線程,也代表了應(yīng)用程序本身。 CWinApp 類取代了WinMain()主函數(shù)在SDK 應(yīng)用程序中的地位。 傳統(tǒng)SDK 應(yīng)用程序 WinMain()函數(shù)完成的工作。 現(xiàn)在由類CWinApp 的InitApplication(), InitInstance()和Run()三個成員函數(shù)承擔(dān)。 CWnd 類由CCmdTarget 類直接派生而來,該類及其派生類的實例是一個窗口。 CWnd 類代表了MFC 中最基本的GUI 對象,它是一個功能最完善、成員函數(shù)最多的MFC 類。 CFrameWnd 類是CWnd 類的派生類,主要用來掌管一個窗口,它取代了SDK 應(yīng)用程序中窗口函數(shù) WndProc()的地位。 CFrameWnd 類的對象是一個框架窗口,包括邊框、標(biāo)題欄、菜單、最大化按鈕、最小化按鈕和一個激活的視圖。 CDocument 類在應(yīng)用程序中作為用戶文檔類的基類,它代表了用戶存儲或打開的一個文件。 CView 類是 MFC 中一個很基本的類,它作為其它MFC 視圖類和用戶視圖派生類的基類。 從 API 編程到MFC 編程的過渡:WinMain(){初始化WNDCLASS 注冊窗體結(jié)構(gòu)創(chuàng)建窗口-應(yīng)用程序類CWinApp 顯示窗口消息循環(huán)}WndProc(){switch(…){case:…}- 框架窗口類CFrameWnd}MFC Object 和Windows Object 的對應(yīng)關(guān)系:描述 Windows 句柄MFC Object 窗口HWND CWnd 設(shè)備上下文HDC CDC 菜單HMENU CMenu 筆HPEN CPen 刷子HBRUSH CBrush 字體HFONT CFont 位圖HBITMAP CBitmap 套接字SOCKET CSocket 三、手工創(chuàng)建一個MFC 應(yīng)用程序:注意:創(chuàng)建 MFC 程序,要創(chuàng)建一個Win32 空項目,并要選擇項目屬性中的在共享DLL 文件中使用MFC,然后新建我們的文件例子:在hello.h頭文件中添寫如下代碼: class CMyApp:public CWinApp{public:virtual BOOL InitInstance();// 虛函數(shù)};class CMainWindow:public CFrameWnd{public:CMainWindow(); protected:afx_msg void OnPaint();DECLARE_MESSAGE_MAP();//聲明消息映射};在源文件中添寫如下代碼:#include afxwin.h# myApp;BOOL CMyApp: InitInstance(){m_pMainWnd=new CMainWindow;m_pMainWnd- ShowWindow(m_nCmdShow);m_pMainWnd-UpdateWindow();return TRUE;}BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)ON_WM_PAINT()END_MESSA GE_MAP()//消息映射CMainWindow:CMainWindow()//構(gòu)造函數(shù)初始化 {Create(NULL,我的第一個MFC 應(yīng)用程序);//創(chuàng)建窗體}void CMainWindow: OnPaint(){CPaintDC dc(this);CRect rect;GetClientRect(&rect); (Hello MFC,- 1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);}CWinApp 是應(yīng)用程序類,在MFC 應(yīng)用程序中必須從這個類派生出一個類,該派生類是MFC 應(yīng)用程序的入口必須定義這個派生類的對象,并且只能有一個這個對象代表整個應(yīng)用程序。 成員函數(shù):InitInstance()功能:初始化應(yīng)用程序?qū)嵗痛翱趯嵗摵瘮?shù) CWinApp:InitInstance 必須在派生類中重寫。 在InitInstance 函數(shù)中,編寫初始化代碼,如:創(chuàng)建一個窗口顯示一個窗口CFrameWnd 類作用:為應(yīng)用程序提供一個窗口,同時實現(xiàn)消息處理功能。 成員函數(shù):Create()功能:創(chuàng)建窗體, 將之賦于CFrameWnd 對象上。 BOOL Create(窗口類型,窗口標(biāo)題,顯示風(fēng)格,顯示區(qū)域,符窗口句柄,菜單,擴展顯示風(fēng)格,上下文對象)共有8 個參數(shù),前兩個必須給出,后6 個可以默認(rèn)。 MFC 應(yīng)用程序的核心就是基于CWinApp 類的應(yīng)用程序?qū)ο?CWinApp 提供了消息循環(huán)來檢索消息并將消息調(diào)度給應(yīng)用程序的窗口.我們在編寫MFC 應(yīng)用程序時,要包含afxwin.h,一個MFC 應(yīng)用程序可以有且僅有一個應(yīng)用程序?qū)ο?對象必須聲明為在全局范圍內(nèi)有效(也就是全局對象), 以便它在程序開始時即在內(nèi)存中被實例化我們的Hello MFC 的應(yīng)用程序類被命名為CMyApp,它在 中用如下語句進行了實例化:CMyApp myApp; CMyApp 的類聲明在hello.h 中代碼如下:class CMyApp:public CWinApp{public:virtual BOOL InitInstance();};CMyApp 沒有聲明任何的數(shù)據(jù)成員,只是重寫了一個從CWinApp 類中繼承來的函數(shù),在應(yīng)用程序的生存期內(nèi)InitInstance 的調(diào)用比較早,是在應(yīng)用程序開始運行以后而窗口創(chuàng)建之前,除非InitIstance 創(chuàng)建一個窗口,否則應(yīng)用程序是不會有窗口,這正是為什么即使最小的MFC 應(yīng)用程序也必須從CWinApp 派生出一個類并重寫CWinApp: InitIstance 的原因InitInstance 函數(shù):CWinApp:InitInstance 是一個虛函數(shù),其默認(rèn)操作僅包含一條語句:return TRUE;InitInstance 是用來執(zhí)行程序每次開始時都需要進行的初始化工作最好的地方在 中,CMyApp 的 InitInstance 通過實例化hello 的CMainWindow 類來創(chuàng)建hello 窗口,語句: m_pMainWnd=new CMainWindow;構(gòu)造了一個CMainWindow 對象指針,并將其地址復(fù)制到了應(yīng)用程序?qū)ο蟮膍_pMainWnd 數(shù)據(jù)成員中,窗口創(chuàng)建以后,InitInstance 就會通過CMainWindow 指針調(diào)用ShowWindow 和UpdateWindow 函數(shù)顯示它: m_pMainWnd-ShowWindow(m_nCmdShow);m_pMainWnd-UpdateWindow(); ShowWindow 和UpdateWindow 是所有窗口對象共用的CWnd 成員函數(shù)其中包括 CFrameWnd 類的對象,CMainWindow 就是從CFrameWnd 派生出來的.要從MFC 程序調(diào)用一個常規(guī)的Windows API 函數(shù),需要在函數(shù)名稱前添加一個全局運算符:例如::UpdateWindow();通過生成窗口對象并調(diào)用其Create 函數(shù),MFC 應(yīng)用程序可以創(chuàng)建一個窗口,在CMyApp:InitInstance 中,hello 創(chuàng)建了一個 CMainWindow 對象,CMainWindow 的構(gòu)造函數(shù)生成在屏幕上看到的窗口: Create(NULL,我的第一個MFC 應(yīng)用程序);CPaintDC dc(this);MFC 的 CPaintDC 類是從MFC 的CDC 類派生的,CDC 類封裝了Windows 設(shè)備環(huán)境,以及包含了繪制到屏幕、打印機和其他設(shè)備的幾十個成員函數(shù)在MFC 中如何處理消息呢?在SDK 中我們利用的是消息循環(huán)和窗口過程函數(shù)對消息進行消息處理.在 MFC 中我們用的是消息映射機制.下面是將消息映射添加到一個類中需要做的全部工作.1 通過將DECLARE_MESSAGE_MAP 語句添加到類聲明中,聲明消息映射.2 通過放置標(biāo)識消息的宏來執(zhí)行消息映射,相應(yīng)的類將在對BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP 的調(diào)用之間處理消息3 添加成員函數(shù)來處理消息1、構(gòu)造 CWinApp 派生類的對象2、系統(tǒng)調(diào)用WinMain()3、WinMain 調(diào)用InitInstance, 在該函數(shù)中創(chuàng)建CFrameWnd 派生類對象,調(diào)用Create 函數(shù)創(chuàng)建窗口、調(diào)用 ShowWindow 函數(shù)顯示窗口。 4、之后內(nèi)部機制調(diào)用Run,接受用戶的消息,并將消息導(dǎo)向默認(rèn)的處理函數(shù)。 當(dāng)接收到WM_QUIT 消息時,Run 內(nèi)部調(diào)用 ExitInstance,退出程序。 MFC 采用消息映射(Message Map)機制取代C/C++語言中的switch-case 結(jié)構(gòu)來處理消息。 消息映射:在MFC 中把消息處理函數(shù)和它所要處理的特定的消息連接起來的一種機制。 它通過宏來實現(xiàn)消息到成員函數(shù)的映射,而且這些函數(shù)不必是虛擬的成員函數(shù),這樣不需要為消息映射函數(shù)生成一個很大的虛擬函數(shù)表(V 表),節(jié)省內(nèi)存。 MFC 消息映射機制包括一組消息映射宏。 一條消息映射宏把一個Windows 消息和其消息處理函數(shù)聯(lián)結(jié)起來。 MFC 應(yīng)用程序框架提供了消息映射功能。 在類的實現(xiàn)源文件中用 BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()宏來定義消息映射。 在類定義的結(jié)尾用DECLARE_MESSAGE_MAP()宏來聲明使用消息映射。



相關(guān)標(biāo)簽: .NETmainwindow是什么程序mainwin32的對比優(yōu)缺點分析

上一篇:面向性能的mainwin32編程提升應(yīng)用程序速度

下一篇:mainwin32實戰(zhàn)教程構(gòu)建健壯的Windows應(yīng)用程

內(nèi)容聲明:

1、本站收錄的內(nèi)容來源于大數(shù)據(jù)收集,版權(quán)歸原網(wǎng)站所有!
2、本站收錄的內(nèi)容若侵害到您的利益,請聯(lián)系我們進行刪除處理!
3、本站不接受違法信息,如您發(fā)現(xiàn)違法內(nèi)容,請聯(lián)系我們進行舉報處理!
4、本文地址:http://www.hudongshop.com/article/e2c3fd0d53f95db33039.html,復(fù)制請保留版權(quán)鏈接!


溫馨小提示:在您的網(wǎng)站做上本站友情鏈接,訪問一次即可自動收錄并自動排在本站第一位!
隨機文章
提取 PDF 文本:利用解析技術(shù)獲取可編輯文本數(shù)據(jù) (提取pdf文件名)

提取 PDF 文本:利用解析技術(shù)獲取可編輯文本數(shù)據(jù) (提取pdf文件名)

PDF,便攜式文檔格式,是一種流行的文件格式,用于在各種設(shè)備上創(chuàng)建和共享文檔,但是,PDF文檔通常是不可編輯的,這可能會給編輯或重新使用其內(nèi)容帶來困難,幸運的是,有許多工具和技術(shù)可以讓您提取PDF文檔中的文本,從而使您可以編輯和重新使用內(nèi)容,本文將探討一些流行的PDF文本提取方法,并提供分步指南,幫助您從PDF文檔中提取可編輯文本,P...。

最新資訊 2024-09-27 10:54:21

存儲過程安全性:保護數(shù)據(jù)庫免受潛在威脅 (存儲過程安全性高嗎)

存儲過程安全性:保護數(shù)據(jù)庫免受潛在威脅 (存儲過程安全性高嗎)

引言存儲過程是預(yù)編譯的、可重復(fù)使用的數(shù)據(jù)庫對象,可以封裝復(fù)雜的數(shù)據(jù)庫操作,雖然它們提供了許多好處,包括可重用性、性能和代碼模塊化,但它們的安全性也至關(guān)重要,因為它們可以訪問敏感數(shù)據(jù)并執(zhí)行特權(quán)操作,在本文中,我們將深入探討存儲過程安全性,了解潛在威脅并探索最佳實踐,以保護數(shù)據(jù)庫免受存儲過程可能帶來的威脅,存儲過程的潛在威脅SQL注入攻擊...。

最新資訊 2024-09-26 18:59:18

在線教程:與來自世界各地的專家建立聯(lián)系,獲取寶貴的見解和指導(dǎo)

在線教程:與來自世界各地的專家建立聯(lián)系,獲取寶貴的見解和指導(dǎo)

在當(dāng)今競爭激烈的商業(yè)環(huán)境中,持續(xù)學(xué)習(xí)和提高技能至關(guān)重要,在線教程為我們提供了一種方便快捷的方式,可以與來自世界各地的專家建立聯(lián)系,獲取寶貴的見解和指導(dǎo),在線教程的優(yōu)勢靈活性和便利性,在線教程允許您隨時隨地學(xué)習(xí),無需去教室或遵循固定的時間表,廣泛的課程選擇,在線平臺提供各種各樣的課程,從技術(shù)技能到軟技能,涵蓋廣泛的主題,與專家直接聯(lián)系,...。

技術(shù)教程 2024-09-23 08:04:05

使用 CSS過濾器提升您的網(wǎng)頁設(shè)計:分步教程 (使用css過渡動畫實現(xiàn)一個盒子從正方形到圓形代碼)

使用 CSS過濾器提升您的網(wǎng)頁設(shè)計:分步教程 (使用css過渡動畫實現(xiàn)一個盒子從正方形到圓形代碼)

constbox=document.querySelector,.box,box.addEventListener,mouseover,=,box.style.filter=blur,10px,box.addEventListener,mouseout,=,box.style.filter=none,使用C...。

技術(shù)教程 2024-09-15 16:21:36

服務(wù)器端編程語言在現(xiàn)代應(yīng)用程序開發(fā)中的應(yīng)用與優(yōu)勢 (服務(wù)器端編程語言有哪些)

服務(wù)器端編程語言在現(xiàn)代應(yīng)用程序開發(fā)中的應(yīng)用與優(yōu)勢 (服務(wù)器端編程語言有哪些)

服務(wù)器端編程語言簡介服務(wù)器端編程語言是一種用于在服務(wù)器上運行的代碼的編程語言,這些語言可用于處理應(yīng)用程序的邏輯并與數(shù)據(jù)庫和其他服務(wù)進行交互,與客戶端編程語言,在用戶設(shè)備上運行,不同,服務(wù)器端編程語言不負(fù)責(zé)用戶界面或交互,服務(wù)器端編程語言的應(yīng)用服務(wù)器端編程語言在現(xiàn)代應(yīng)用程序開發(fā)中有著廣泛的應(yīng)用,包括,Web應(yīng)用程序,處理用戶請求、生成動...。

互聯(lián)網(wǎng)資訊 2024-09-12 09:01:37

C 語言程序設(shè)計基礎(chǔ):初學(xué)者友好,一步一步學(xué)習(xí) (c語言程序設(shè)計)

C 語言程序設(shè)計基礎(chǔ):初學(xué)者友好,一步一步學(xué)習(xí) (c語言程序設(shè)計)

1.簡介C語言是一種通用高級編程語言,由丹尼斯·里奇,DennisRitchie,于1972年開發(fā),它是一種結(jié)構(gòu)化編程語言,廣泛用于開發(fā)操作系統(tǒng)、嵌入式系統(tǒng)和軟件應(yīng)用程序,C語言以其高效、可移植性和靈活性而聞名,它被認(rèn)為是學(xué)習(xí)編程語言的堅實基礎(chǔ),因為它提供了對編程概念和計算機體系結(jié)構(gòu)的深入理解,2.安裝和配置要在計算機上使用C語言,您...。

本站公告 2024-09-10 22:45:51

解鎖滾動圖片的潛力:在移動和桌面設(shè)備上創(chuàng)造引人入勝的體驗 (解鎖滾動圖片怎么設(shè)置)

解鎖滾動圖片的潛力:在移動和桌面設(shè)備上創(chuàng)造引人入勝的體驗 (解鎖滾動圖片怎么設(shè)置)

滾動圖片是一種交互式圖形元素,允許用戶通過滾動或拖動來探索圖像的各種部分,它們是創(chuàng)建引人入勝且引人注目的移動和桌面體驗的強大工具,滾動圖片的優(yōu)勢吸引人的內(nèi)容體驗,滾動圖片可以通過允許用戶以獨特而互動的方式探索圖像來創(chuàng)建更吸引人的內(nèi)容體驗,提高用戶參與度,滾動圖片需要用戶js或LocomotiveScroll,在工具中創(chuàng)建新的滾動圖片,...。

互聯(lián)網(wǎng)資訊 2024-09-06 22:01:26

Java trim() 函數(shù)實戰(zhàn)技巧:應(yīng)對各種字符串處理場景 (JAVATransmission)

Java trim() 函數(shù)實戰(zhàn)技巧:應(yīng)對各種字符串處理場景 (JAVATransmission)

在Java中,trim,函數(shù)是用于移除字符串兩端的空白字符,包括空格、制表符和換行符,的強大工具,掌握trim,函數(shù)的各種用法和應(yīng)用場景對于處理字符串至關(guān)重要,移除字符串兩端的空白字符最基本的使用trim,函數(shù)是移除字符串兩端的空白字符,例如,Strings=Hello,World,Stringtrimmed=s.trim,...。

互聯(lián)網(wǎng)資訊 2024-09-06 20:50:37

用 Java 改變世界,無需昂貴的費用,盡在免費課堂中 (用java改變抖音直播間用戶在線人數(shù))

用 Java 改變世界,無需昂貴的費用,盡在免費課堂中 (用java改變抖音直播間用戶在線人數(shù))

引言Java是一種功能強大且用途廣泛的編程語言,被廣泛用于各種應(yīng)用程序和解決方案的開發(fā)中,隨著技術(shù)的不斷發(fā)展,Java的作用也越來越重要,它正成為塑造我們數(shù)字世界的關(guān)鍵力量,Java的優(yōu)勢Java擁有許多優(yōu)勢,使其成為開發(fā)人員的首選語言,包括,平臺獨立性,Java遵循一次編寫,隨處運行的原則,使其可在各種操作系統(tǒng)上運行,包括Windo...。

技術(shù)教程 2024-09-05 14:42:21

校園靈異之謎:科學(xué)與玄學(xué)之間的較量,探索未知的境界 (校園靈異之謎在線觀看)

校園靈異之謎:科學(xué)與玄學(xué)之間的較量,探索未知的境界 (校園靈異之謎在線觀看)

校園,一個充滿了青春與活力的場所,卻也流傳著許多靈異傳說,這些傳說往往令人毛骨悚然,但又讓人難以抗拒,它們究竟是科學(xué)現(xiàn)象還是玄學(xué)迷信,本文將帶你探索校園靈異之謎的真相,科學(xué)解釋對于校園靈異事件,科學(xué)家們給出了以下解釋,光學(xué)錯覺,昏暗的環(huán)境、閃爍的燈光以及陰影的移動都會產(chǎn)生光學(xué)錯覺,讓人誤認(rèn)為看到了鬼魂,聲音錯覺,老建筑物中的管道聲、風(fēng)...。

互聯(lián)網(wǎng)資訊 2024-09-04 02:57:09

南京碎尸案:慘絕人寰的細(xì)節(jié)曝光 (南京碎尸案破了嗎)

南京碎尸案:慘絕人寰的細(xì)節(jié)曝光 (南京碎尸案破了嗎)

2022年10月28日南京碎尸案于2022年7月21日發(fā)生,是一起令人發(fā)指的兇殺案,該案的犯罪嫌疑人洪某因涉嫌故意殺人罪已被警方逮捕,案件經(jīng)過2022年7月21日,南京警方接到報警稱,在某小區(qū)內(nèi)發(fā)現(xiàn)一名被肢解的女性尸體,經(jīng)過調(diào)查,警方確定受害人系28歲的李某某,經(jīng)過縝密偵查,警方很快鎖定犯罪嫌疑人洪某,并于當(dāng)日將其抓獲,經(jīng)審訊,洪某對...。

互聯(lián)網(wǎng)資訊 2024-09-03 05:13:46

移動數(shù)據(jù)打不開deviantart怎么辦 (移動數(shù)據(jù)打不開怎么辦)

移動數(shù)據(jù)打不開deviantart怎么辦 (移動數(shù)據(jù)打不開怎么辦)

建議進行以下操作,1.檢查手機網(wǎng)絡(luò)連接是否穩(wěn)定,建議更換無線網(wǎng)絡(luò)嘗試,2.更新軟件版本嘗試,3.點擊手機應(yīng)用程序,設(shè)定,應(yīng)用程序管理器,已下載,選擇出現(xiàn)問題的應(yīng)用,清除數(shù)據(jù)4.將數(shù)據(jù)備份,聯(lián)系人,短信,圖片等,,恢復(fù)出廠設(shè)置重新安裝嘗試5.更新下手機系統(tǒng)版本,美圖丨一些尋找無水印圖片的個人經(jīng)驗對于大部分動漫迷來說,平時都喜歡收集圖片,...。

技術(shù)教程 2024-09-02 01:53:59

Copyright ? 2025 聚集網(wǎng) All Rights Reserved
此內(nèi)容系本站根據(jù)來路自動抓取的結(jié)果,不代表本站贊成被顯示網(wǎng)站的內(nèi)容或立場。
本頁閱讀量次 | 本站總訪問次 | 本站總訪客人 | 今日總訪問次 | 今日總訪客人 | 昨日總訪問次 | 昨日總訪客人 |
技術(shù)支持:聚集網(wǎng)

国产中文字幕免费观看_国产高清精品软男同_日韩免费视频播放_亚洲午夜激情
97精品视频在线| 97精品久久久中文字幕免费| 日韩欧美精品一区二区三区经典| 免费看国产一级片| 久久人人爽人人爽人人片av高清| 国产精品国产三级国产aⅴ浪潮 | 亚洲综合日韩中文字幕v在线| 热久久美女精品天天吊色| 99视频网站| 久久亚洲私人国产精品va| 青青草国产精品视频| 97精品视频在线观看| 北条麻妃一区二区三区中文字幕| 亚洲一区二区不卡视频| 精品视频无码一区二区三区| 久久久噜噜噜久噜久久| 亚洲精品欧美日韩| 高清欧美精品xxxxx| 国产精品久久97| 欧美日韩精品一区| 久久国产色av免费观看| 亚洲三级一区| 国产美女在线精品免费观看| 国产精品免费久久久久影院| 青青久久av北条麻妃黑人| 久在线观看视频| 亚洲一区二区三区av无码| 欧美精品七区| 久久超碰亚洲| 日本一区二区高清视频| 久久亚洲精品欧美| 亚洲永久在线观看| 高清视频欧美一级| 久久99久久99精品免观看粉嫩| 激情六月丁香婷婷| 国产精品丝袜高跟| 欧美在线观看视频| 日韩中文字幕在线精品| 热久久精品免费视频| 国产mv久久久| 日韩精品免费播放| 国产成人精品免费久久久久| 一区二区三区电影| 国产精品一区二区三区在线播放| 精品国产乱码久久久久久郑州公司| 精品一区二区视频| 欧美日本啪啪无遮挡网站| 国产视频一视频二| 精品国产乱码久久久久久88av | 国产日韩中文在线| 精品国产免费久久久久久尖叫| 国产亚洲一区二区三区在线播放| 精品国产第一页| www.av一区视频| 日韩av高清在线播放| 日韩有码片在线观看| 日韩久久久久久久| 久久精品99久久久香蕉| 国内伊人久久久久久网站视频| 精品免费日产一区一区三区免费 | 精品国产免费av| 国产美女精彩久久| 亚洲一区二区三区在线视频| 91精品视频网站| 日本一区网站| 久久视频在线免费观看| 精品少妇一区二区三区在线| 久久久av网站| 国产日韩一区二区三区| 亚洲中文字幕无码一区二区三区| 91精品国产91久久久久福利| 日韩欧美一区二| 国产精品久久久久av免费| 国产女大学生av| 亚洲欧美影院| 久久久久久久一| 国产中文字幕乱人伦在线观看| 欧美精品第一页在线播放| 91超碰中文字幕久久精品| 人妻少妇精品久久| 国产精品成人v| 99久热re在线精品996热视频| 亚洲色图自拍| 久久精品国产91精品亚洲| 国产欧美亚洲精品| 日韩电影天堂视频一区二区| 国产精品免费看久久久香蕉| 官网99热精品| 日本精品免费| 久久艹在线视频| 久久免费精品日本久久中文字幕| 欧美 日韩 国产精品| 亚洲熟妇无码一区二区三区导航| 久久久久久久久久久成人| 国产欧美日韩综合精品二区| 午夜老司机精品| 久久亚洲精品一区二区| 91精品黄色| 国产在线精品日韩| 性色av香蕉一区二区| 日韩最新免费不卡| av天堂永久资源网| 黄色激情在线视频| 日本在线精品视频| 精品国产乱码久久久久久108| 久久久精品有限公司| 国产在线观看一区二区三区| 欧美一级片免费观看| 国产精品美女久久久久av福利 | 国产在线精品一区二区三区》 | 中文字幕中文字幕在线中心一区| 久久久黄色av| 国产不卡一区二区在线播放| 成人免费网视频| 狠狠综合久久av| 青青青在线观看视频| 亚洲v日韩v欧美v综合| 国产aaa免费视频| 国产精品久久久久久久久久小说| 97人人澡人人爽| 国产午夜精品一区| 欧美无砖专区免费| 日本一区视频在线| 一本—道久久a久久精品蜜桃| 久久久久一本一区二区青青蜜月| 浮妇高潮喷白浆视频| 精品无人区一区二区三区竹菊| 欧美一乱一性一交一视频| 一区二区免费在线视频| 精品国产一区二区三区麻豆小说| 国产精品免费一区二区三区都可以 | 国产二区视频在线| 99热在线播放| 北条麻妃在线一区| 成 年 人 黄 色 大 片大 全 | 国产精品久久久久9999爆乳| www.日韩.com| 日韩视频在线免费| 久久久久久久久久久免费视频| 国产福利视频在线播放| 91九色极品视频| …久久精品99久久香蕉国产| 国产精品尤物福利片在线观看| 欧美 国产 综合| 欧美黄色直播| 韩国v欧美v日本v亚洲| 欧美在线观看日本一区| 青青在线视频免费观看| 日韩精品在线中文字幕| 日韩人妻无码精品久久久不卡| 天天久久人人| 欧美一区二区三区在线播放| 日韩资源av在线| 青草热久免费精品视频| 欧美一区激情视频在线观看| 极品粉嫩国产18尤物| 国产在线一区二区三区| 国产嫩草一区二区三区在线观看| 国内精品久久久久久久久| 国语对白做受xxxxx在线中国| 欧美日韩精品不卡| 国内精品一区二区三区四区| 国产视频不卡| 国产精品一区二区欧美| 成人精品一区二区三区电影黑人| 成人av资源在线播放| 91九色对白| 久久久久久久久久久国产| 久久精品国产视频| 国产精品成人在线| 亚洲专区在线视频| 日本一区二区在线播放| 欧美日韩黄色一级片| 欧美激情视频一区二区三区| 国产一区精品在线| 91九色综合久久| www国产91| 欧美成人精品三级在线观看| 曰韩不卡视频| 日韩精品一区二区在线视频| 国产这里只有精品| 国产日韩一区二区在线| 91精品久久香蕉国产线看观看| 久久99久久99精品蜜柚传媒| 国产精品久久激情| 亚洲精品中文字幕无码蜜桃| 青青青青在线视频| 国产精品一区二区三区在线播放| www.男人天堂网| 深夜福利日韩在线看| 国产精品免费福利| 亚洲a在线观看| 韩国成人一区| 国产精品50p| 国产精品日韩在线播放| 亚洲精品乱码久久久久久蜜桃91| 麻豆中文字幕在线观看| www日韩中文字幕在线看| 色婷婷精品国产一区二区三区| 国产精品一区在线播放|