linux編程中遇到的Segmentation fault錯誤

昨天編程的時候,遇到了Segmentation fault錯誤。使用GDB調試時才發現的,順便說下。習慣了圖形介面式的調試工具,用命令列確實還是不習慣。關於此錯誤問了下Google,一搜一大篇,看來是一個很常見的問題。簡單來講,這個錯誤就是因為非法訪問了系統中的記憶體而導致的錯誤,比如一些系統中關鍵記憶體地區。那我的錯誤是怎麼導致的呢?原來我在定義一個char類型的指標,然後就直接對這個指標進行字串的相關操作。比如:char *c1;for(i=0; i<n;i++){ *c1 =

Linux下tar bz gz等壓縮包的壓縮和解壓

Linux下使用者經常需要備份電腦系統中的資料,為了節省儲存空間,常常將備份檔案進行壓縮,本文是對壓縮和解壓命令的大致總結.tar.gz  解壓:tar zxvf FileName.tar.gz  壓縮:tar zcvf FileName.tar.gz dirName solaris下解壓 *.tar.gz可能有些不同,按照以下兩步實現解壓:1、gzip -d *.tar.gz2、tar xvf

linux下定義顏色提示符

#!/bin/bash# This should go in your ~/.bashrc file# Define ANSI color sequencesNORMAL="\[\033[0m\]"WHITE="\[\033[0;37;40m\]"MAGENTA="\[\033[0;35;40m\]"BRIGHTBLUE="\[\033[1;34;40m\]"BRIGHTWHITE="\[\033[1;37;40m\]"BRIGHTMAGENTA="\[\033[1;35;40m\]"#

Linux安裝與配置SVN

1 安裝SVN安裝subversion要先安裝其他一些包。(apr,apr-util,neon)[root@Linux9 install]# rpm -ivh subversion-1.4.4-1.i386.rpm error: Failed dependencies:apr >= 0.9.7 is needed by subversion-1.4.4-1apr-util >= 0.9.7 is needed by subversion-1.4.4-1libapr-0.so.0

Linux中載入新的硬碟

[root@rhfour ~]# fdisk -lDisk /dev/sda: 5368 MB, 5368709120 bytes255 heads, 63 sectors/track, 652 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes    Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1       

linux下的Makefile的自動產生

 初學linux,看到linux程式的install有./configure,make,make install等命令感到奇怪便找了 一些文章看.   GNU autoconf和GNU automake是GNU用來協助自動產生makefile文檔的,能方便地安裝你開發的軟體      make根據makefile編譯、連接程式,手寫makefile很困難因此有了autoconf,automake.

Linux統計某檔案夾下檔案、檔案夾的個數

統計某檔案夾下檔案的個數ls -l |grep "^-"|wc -l統計某檔案夾下目錄的個數ls -l |grep "^d"|wc -l統計檔案夾下檔案的個數,包括子檔案夾裡的ls -lR|grep "^-"|wc -l如統計/home/han目錄(包含子目錄)下的所有js檔案則:ls -lR /home/han|grep js|wc -l 或 ls -l "/home/han"|grep "js"|wc-l統計檔案夾下目錄的個數,包括子檔案夾裡的ls -lR|grep "^d"|wc

【Linux 驅動】驅動開發第一步—-開發環境搭配

一,環境搭建步驟      1)下載Linux源碼             1> ~#apt-cache search linux-source出現:linux-source - Linux kernel source with Ubuntu patches           linux-source-3.0.0 - Linux kernel source for version 3.0.0 with Ubuntu patches             2>~#apt-get  

linux 安裝ipmesg

1、先下載源碼下載for gnome2版本的源碼 http://ipmsg.org/http://ipmsg.org/archive/g2ipmsg-0.9.6.tar.gz 2、解壓在ubuntu中用命令列tar xzvf g2ipmsg-0.9.6.tar.gz,或者菜單右鍵用歸檔管理器解壓即可。 3、修改語言用文本編輯工具,比如gedit,開啟src/codeset.c檔案,將其中的CP932更改為CP936(英文)或者GBK(中文)並儲存。 4、安裝編譯依賴項sudo apt-get

linux時間編程常用函數

首先說明時間類型分為兩種:Coordinated Universal Time(UTC):世界標準時間,也就是格林威治時間(Greenwich Mean Time, GMT)Calendar Time:日曆時間,從一個標準時間點(如:1970年1月1日0點)到此時經過的秒數來表示的時間。時間擷取#include <time.h>time_t time<time_t *tloc>//功能:擷取日曆時間,從1970年1月1日0點到現在所經曆的秒數//typedef long

修改Linux預設啟動層級或模式

在Linux中有7種啟動層級,預設是X-Window,像是Windows的視窗模式,而Linux的操作和配置一般我們都採用輸入命令的方式來完成,像DOS作業系統一樣,如何讓Linux一啟動就進入這種模式呢?     以管理員身份進入Linux,修改檔案:/etc/inittab檔案     找到“id:5:initdefault:”,其中的5就是X-Window,為預設運行層級,一般我們把5改為3即可。     一共有7種啟動層級,分別為:#   0 - halt (Do

linux下群發郵件小記

 <!--@page { size: 8.5in 11in; margin: 0.79in }P { margin-bottom: 0.08in }-->今天需要把一大堆(大約300餘條)亂糟糟的email地址整理好,並給他們發信通知一次學術會議的徵稿資訊。 整理郵件地址很容易,有一個線上網站專門做這個:http://zz.ebeibei.com/xmltool/xmlmail.html 群發郵件使用mutt+ msmtp。Mutt +

Linux下安裝OpenCV

看別人裝了好幾回,要自己裝還是琢磨半天。預設已經安裝了GCC和CMake。參考http://opencv.willowgarage.com/wiki/InstallGuide_Linux簡單寫一下。1.  下載OpenCV可以通過命令列來下載,我用的比較笨的辦法,直接用的瀏覽器下的。2.  解壓檔案在可視化介面下解壓,或者通過命令來解壓,如下所示:tar zxvf opencv-1.0.0.tar.gz; 3. 然後輸入以下命令,在建立的release 路徑下,使用CMake

Linux 下原始碼安裝

           Linux 下原始碼安裝       1.把你的程式移動到/usr/local/src ------------ 這一步你也可以不做,但是這方便以後對原始碼程式的管理與升級,如果亂放,時間長了就不好管理了       2.cd /usr/local/src  ---------進入原始碼所在的目錄       3.tar xzvf mtools-3.9.9.9.tar.gz   ----------解壓縮檔案如果是是以bz2結尾的用tar xjvf       4.cd

linux查看分區狀況

在 Linux 中詳細查看硬碟分區狀況命令       硬碟(港台稱之為硬碟,英文名:Hard Disc Drive 簡稱HDD 全名 溫徹斯特式硬碟)是電腦主要的儲存媒介之一,由一個或者多個鋁製或者玻璃制的碟片組成。這些碟片外覆蓋有鐵磁性材料。絕大多數硬碟都是固定硬碟,被永久性地密封固定在硬碟中。       進入正題 -- 電腦使用者,日複一日在磁碟中儲存、移動、刪除各類檔案。當然會關心磁碟空間的使用方式。在Linux

Linux學習之Regex

Regex字串表示方式一朝不同的嚴謹程度分為基礎Regex和擴充Regex,下面我們來先看看基礎Regex:經常用到的一些符號 [;alnum:]  表示0-9  a-z   A-Z[:alpha:]  表示a-z  A-Z[:lower:] 表示a-z[:upper:] 表示A-Z[:digit:] 表示0-9 在學習Regex之前有必要好好瞭解grep的使用 grep [-A] [-B] [--color=auto] '尋找字串' filenameA 

Linux中常用命令學習總結

前面的章節裡對linux的檔案的許可權做了簡單的解釋。現在來看看常見的命令,從簡單的開始:1 、切換目錄cd 到/tmp 目錄:cd /tmp到上層目錄:cd ..2 、查看目前的目錄pwd3、 建立一個新的檔案夾:mkdir建立一層目錄:建立多層目錄:4 、刪除目錄:rmdir [-p]   如果需要層級刪除目錄,就需要帶上p(只能刪除空目錄)5、查詢環境變數echo $PATH  或者$PATH 6、切換使用者:su

主題:Linux平台gcc和動態共用程式庫的基礎知識

 對大多數不從事Linux平台C語言開發的人來說,GNU gcc的一套工具和Linux平台的共用庫的使用還是十分陌生的,其實我也不太熟悉,姑且寫點基礎知識,權當做備忘吧。一、GNU gcc的編譯工具用法 我們先來寫一個簡單的C程式:hello.c C代碼  #include <stdio.h>     void print_hello() {     printf("Hello World\n");   }     int main(int argc, char argv[]) {

Linux 初學者初學者常用命令

  NO   分類   PS1   命令名   用法及參數   功能註解         1   檔案管理   #   ls   ls -a   列出目前的目錄下的所有檔案,包括以.頭的隱含檔案            檔案管理   #   ls   ls -l或ll   列出目前的目錄下檔案的詳細資料            檔案管理   #   pwd   pwd   查看當前所在目錄的絕對路經            檔案管理   #   cd   cd ..   回目前的目錄的上一級目錄   

Linux 檔案操作庫函數 — ioctl

    ioctl is a bit of a ragbag of things. It provides an interface for controlling the behavior of devices and their descriptors and configuring underlying services. Terminals, file descriptors, sockets, and even tape drives may have ioctlcalls

總頁數: 3662 1 .... 3146 3147 3148 3149 3150 .... 3662 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.