求0-2000內所有素數【篩選法】

所謂素數也叫做質數,它的定義如下:該數只能被1和它本身整除。核心演算法:篩選法,凡是素數的倍數全部去除。 代碼如下:#include <stdio.h>#define NUMS 2000int main(int argc, char **argv){int di[NUMS]={0};for(int i=2;i<=NUMS;i++){di[i-1] = i;for(int j=2;j<=NUMS;j++){if(i != j && i%j==0){di[i-

鏈路層訪問PF_PACKET簡介

在linux環境中要從鏈路層(MAC)直接收發資料幀,可以通過libpcap與libnet兩個動態庫來分別完成收與發的工作。雖然它已被廣泛使用,但在要求進行跨平台移植的軟體中使用仍然有很多弊端。這裡介紹一種更為直接地、無須安裝其它庫的從MAC層收發資料幀的方式,即通過定義鏈路層的通訊端來完成。Packet通訊端用於在MAC層上收發未經處理資料幀,這樣就允許使用者在使用者空間完成MAC之上各個層次的實現。給無論是進行開發還是測試的人們帶來了極大的便利性。Packet通訊端的定義方式與傳送層的通訊端

TC(HTB)+iptables作流量控制

一、環境和要求    線路:ADSL:2M/512K  eth0:10.0.0.136,外網口  eth1:192.168.1.1,內網口    業務需求:保證正常的網頁瀏覽,FTP,SMTP,POP3,對其它的所有應用加以限制,以免影響正常業務的使用。    1、讓互動資料包保持較低的延遲時間,也就是說上傳或下載檔案不會打擾SSH/telnet等。  2、上傳或下載期間有合理的速率用於網頁瀏覽,即使http屬於一種大量資料轉送,也不應受其它傳輸影響太大  3、對FTP-data限速,不會佔用所

select系統調用執行個體

Select 系統調用:select系統調用是用來監視多個檔案控制代碼的狀態的。程式會停在select這裡等待,直到被監視的檔案控制代碼有某一個或多個發生了狀態改變,或者到了逾時時間。       具體的select系統調用的參數可以看看man手冊裡面的說明,這裡我們用一個使用者空間的案例來解釋說明一下這個系統調用的用法:int main(void){       int fd1,fd2,max_fd;       int i;       fd_set fdR;       struct

big endian & little endian(大端位元組序和小端位元組序)

假設:a=0x12345678;則大端位元組序和小端位元組序的儲存如所示:                 Big-Endian                               Little-Endian0位元組            12h                                       78h1位元組            34h                                       56h2位元組            56h 

IP協議號

十進位 關鍵字 協議======= ======= ==============0 HOPOPT IPv6 逐跳選項 1 ICMP Internet 控制訊息 2 IGMP Internet 組管理 3 GGP 網關對網關 4 IP IP 中的 IP(封裝) 5 ST 流 6 TCP 傳輸控制 7 CBT CBT 8 EGP 外部網關協議 9 IGP 任何專用內部網關 (Cisco 將其用於 IGRP)10 BBN-RCC-MON BBN RCC 監視 11 NVP-II 網路語音協議 12

幾個網路編程常用的資料結構

struct sockaddr_in { sa_family_t sin_family; /* address family: AF_INET */ u_int16_t sin_port; /* port in network byte order */ struct in_addr sin_addr; /* internet address */};struct in_addr { u_int32_t s_addr; /* address in network byte

socket編程中的select(zz)

Select在Socket編程中還是比較重要的,可是對於初學Socket的人來說都不太愛用Select寫程式,他們只是習慣寫諸如connect、accept、recv或recvfrom這樣的阻塞程式(所謂阻塞方式block,顧名思義,就是進程或是線程執行到這些函數時必須等待某個事件的發生,如果事件沒有發生,進程或線程就被阻塞,函數不能立即返回)。可是使用Select就可以完成非阻塞(所謂非阻塞方式non-block,就是進程或線程執行此函數時不必非要等待事件的發生,一旦執行肯定返回,以傳回值的不

流量控制系列手冊頁:TC

摘要    tc是一個設定Linux核心流量控制的工具    名字    tc - 顯示/維護流量控制設定   摘要  tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id |root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ]     tc class [ add | change | replace ] dev DEV parent

使用rsync命令同步資料

 考慮到伺服器資料的安全,我考慮增加一台備份伺服器,通過資料同步,達到較好的冗餘。  linux下有非常好的一個命令rsync可以實現差異備份,下面就說說它的用法:▲合適系統:紅旗DC 4.1 or 5.0或其他linux、FreeBSD系統▲測試環境:紅旗DC 5.0一、通過rsh或ssh命令  在沒有建立rsync伺服器的情況下,我們可以利用rsync命令直接進行快速的差異備份:命令格式:#rsync [option] 源路徑

kmalloc, vmalloc分配的記憶體結構

kmalloc,

用gdb跟蹤函數棧楨的變化情況

代碼如下:#include <stdio.h>void hello(){ int i = 0; printf("i=%d, hello world/n", i);}int main(){ hello(); return 0;} gdb產生調試資訊,進去看看。在hello處設定斷點1,在main處設定斷點2運行到斷點2處,查看寄存器情況:Breakpoint 2, 0x080483f4 in main ()Missing

你應該掌握的——樹和二叉樹

我在上課的時候,由於各種原因,上課老師講的自己總不愛聽,現在到火燒眉毛了,才知道這些基礎知識的重要性,現在想想,也沒有那麼的困難。重在理解這些底層的概念,然後考試考的都是一些很簡單的概念和計算,在這裡我來闡述一下樹和二叉樹的一些考點。基礎知識一點也不能馬虎。所以我們從最基礎的開始說起。以這棵樹來說幾個基本的概念。結點的度:一個結點的子樹數目稱為該結點的度。(例如結點1的結點的度為3,結點2的結點的度為3,結點3的結點的度為0)。樹的度:所有結點度當中,度最高的一個。(樹的度是3)。葉子結點:應該

鏈表API之應用

如前文所述,Linux核心中的代碼,經過稍加改造後,可以在使用者態下使用。  linclude/linux/list.h 中的函數和宏,是一組精心設計的API,有比較完整的注釋和清晰的思路。在使用者態下使用list.h,查看改造後的list.h1. 舉例    下面是使用者態下的例子,用以建立、增加、刪除和遍曆一個雙向鏈表。#include <stdio.h>#include <stdlib.h>#include "list.h"struct kool_list{    

UNIX 高手的10 個習慣

採用 10 個能夠提高您的 UNIX命令列效率的好習慣——並在此過程中擺脫不良的使用模式。本文循序漸進地指導您學習幾項用於命令列操作的技術,這些技術非常好,但是通常被忽略。瞭解常見錯誤和克服它們的方法,以便您能夠確切瞭解為何值得採用這些 UNIX 習慣。 引言當您經常使用某個系統時,往往會陷入某種固定的使用模式。有時,您沒有養成以儘可能最好的方式做事的習慣。有時,您的不良習慣甚至會導致出現混亂。糾正此類缺點的最佳方法之一,就是有意識地採用抵制這些壞習慣的好習慣。本文提出了 10 個值得採用的

vi中進階替換

將所有出現logInfo的行注釋掉::g#logInfo#s#^#//#g刪除檔案中所有空行::g/^ *$/d所有出現foobar的行,然後替換bar為 baz:g/foobar/s/bar/baz/gvi基本的字串替換如下:":%s/oldstring/newstring/g" 這個是在全文替換oldstring為newstring,如":%s/^ *//g" 這條命令去掉所有的行首空格":%s//t/    /g" 這條命令把所有的TAB鍵換成4個空格

dlopen dlsym dlclose解析

 1.  開啟動態連結程式庫:    #include <dlfcn.h>    void *dlopen(const char *filename, int flag);    該函數返回操作控制代碼,如:    void *pHandle = dlopen(strSoFilePath, RTLD_LAZY);2.  取動態對象地址:    #include <dlfcn.h>    void *dlsym(void *pHandle, char *symbol);  

system函數討論

三個程式:test1.c  test2.c  test3.c       gcc test1.c –o test1       在test2.c中調用system(“./test1”);gcc test2.c –o test2在test2.c中調用popen(“./test2”,”r”);gcc test3.c –o test3./test3發現test2.cz中的system返回-1,但是test1執行了。查看system的源碼  #include <sys/types.h>

popen函數調用

摘要:本文介紹了popen函數的使用方法和行為機理,並給出實際的例子來輔助說明了popen函數的使用方法。檔案中還介紹了幾個檔案操作的函數,如fopen,fread,fwrite等   作者:zieckey (http://zieckey.cublog.cn)    All Rights Reserved!popen使用FIFO管道執行外部程式。#include <stdio.h>FILE *popen(const char *command, const char

華為技術篇之OSPF協議入門

1.1. OSPF入門童話  可以把整個網路(一個自治系統AS)看成一個王國,這個王國可以分成b幾個區(area),現在我們來看看地區內的某一個人(你所在的機器root)是怎樣得到一張世界地圖(routing

總頁數: 61357 1 .... 16725 16726 16727 16728 16729 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.