Articles of Ubuntu

mlock() – 页面是静态的,还是可以在物理RAM中移动?

根据mlock()手册页: 当呼叫成功返回时,包含指定地址范围一部分的所有页面保证驻留在RAM中; 页面被保证留在RAM中,直到后来解锁。 这是否也保证这些页面的物理地址在其整个生命周期中是恒定的,或者直到解锁? 如果没有(也就是说,如果它可以被内存pipe理器移动 – 但仍然保留在RAM中),有什么可以说的新位置,或事件发生这样的变化? 更新: 关于RAM中locking页面的一致性,可以说任何东西吗? 如果CPU有caching,那么mlock-ing保证与caching的RAM一致性(假设回写caching)?

如何查看是否从terminal或GUI运行

我试图build立一个类,如果运行使用一个shell或从一个GUI行为是一种不同的方式。 它可以使用#include“myclass.h”包含在两个表单中… 不过,在构造函数中,我想区分Shell运行和GUI运行。 我可以很容易地实现它使用一个参数,将传递给构造函数时声明它,但我想探索我的select。 我在Ubuntu上使用C ++,我的GUI使用Qt。

MonoDevelop + NAudio + Ubuntu Linux告诉我Winmm.dll没find?

所以我试图使用NAudio和Ubuntu Linux的MonoDevelop,出于某种原因它的错误说,winmm.dll没有find,所以我试图下载它,并且“添加引用”对话声明它不是一个有效的.NET库。 这是我的代码…. using System; using System.IO; using Gst; using GLib; using Gst.BasePlugins; using NAudio; using NAudio.Wave; namespace record_audio_simple_test { class MainClass { //Define class variables private NAudio.Wave.WaveFileReader waveFile = null; private NAudio.Wave.DirectSoundOut output = null; public static void Main (string[] args) { WaveFileReader waveFile = new WaveFileReader("../../convo47.wav"); } } } 它说这行上的错误WaveFileReader waveFile = new […]

与电篱笆库海湾合作委员会不生效

我写了一个在dynamic分配时有内存问题的代码片段; 当用-lefence选项编译时,似乎没有效果。 这里是代码段: int main(int argc, char *argv[]) { int *a = (int *)malloc(2*sizeof(int)); for(int i = 0; i <=2; ++i){ a[i] = i; printf ("%d\n",a[i]); } free(a); return 0; } 和编译选项: gcc -g3 -Wall -std=c99 outOfBound.c -lefence 预期的结果是,当执行a.out时, i将分配给2并且调用a[i]=i之后会有一个核心转储。 那么为什么 – -lefence不起作用? 我也把循环上限增加到了9,但是还没有electric-fence调用的核心转储。 (实际上默认是有一个核心转储,但是这可能是由于MALLOC_CHECK_ env可取的,因为当我export MALLOC_CHECK_=0 ,将不会有更多的核心转储)。 更新 : nm -A a.out的全部结果如下: a.out:08049f28 d […]

如何在Linux中添加boost库到Code :: Blocks

如何将Boot库添加到Linux Ubuntu的Code :: Blocks项目中。 例如,我想添加regex库。 我已经安装了靴子库: sudo apt-get install libboost-all-dev 完整的例子将how to将是最有价值的。

linux umask的sudo和apache

我想让002成为所有用户的系统范围的umask(在Ubuntu中)。 我设法为所有常规用户使用@ephemient提供的说明( 从这篇文章 ,谢谢你!)。 但是我还有两个问题。 首先,sudoing时,root用户似乎遵循自己的设置,使用权限644(而不是664)的文件。 其次,apache用户(www-data)也似乎遵循自己的设置(与root用户相同),使用权限644(而不是664)来创build文件。 我不喜欢把umask 002放在/etc/apache2/envvars ,我宁愿改变分配002 umask到apache的设置。 我怎样才能解决最后两个问题?

Arch Linux – apt-get更新等效命令?

Arch Linux在安装新软件包之前更新软件包的命令是什么? 例如,我知道在Ubuntu中,我这样做: $ sudo apt-get update $ sudo apt-get <pkg-name> 那么在拱? 我遇到了几个版本,但他们似乎不认同彼此。 我看不到那里的一致性。 例如1. (对我而言,这看起来很乏味): $ sudo pacman -Syy $ sudo pacman -Su 例如。 2 : $ sudo pacman -Sy 例如。 3 : 总是使用“-Sy”和“u”,即“pacman -Syu”和“pacman -S”,而不是“pacman -Sy”。 我只是困惑! 有任何想法吗?

OpenCV_FOUND为FALSE,因此包“OpenCV”被认为是未find的

我目前有问题,试图让我的cmake看到我的opencv。 我已经安装了opencv,可以运行一些示例问题,并且有一些错误与我在cmake文件中得到的错误相同(当通过terminal运行示例程序时) 我试图改变环境variables的path,如http://answers.opencv.org/question/35125/cmake-linking-error-opencv_found-to-false-ubuntu/ 我的bashrc文件现在看起来像 CMAKE_PREFIX_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9:$CMAKE_PREFIX_PATH CPATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/include:$CPATH LD_LIBRARY_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib:$LD_LIBRARY_PATH PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9bin:$PATH PKG_CONFIG_PATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib/pkgconfig:$PKG_CONFIG_PATH PYTHONPATH=/home/durham/Desktop/OpenCV/opencv-2.4.9/lib/python2.7/dist-packages:$PYTHONPATH 和/etc/ld.so.conf的内容是 include /etc/ld.so.conf.d/*.conf include /home/durham/Desktop/OpenCV/opencv-2.4.9 我试图运行的cmake文件看起来像这样 cmake_minimum_required(VERSION 2.6) if(POLICY CMP0020) cmake_policy(SET CMP0020 NEW) endif(POLICY CMP0020) SET(CMAKE_VERBOSE_MAKEFILE TRUE) SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/config) ADD_DEFINITIONS(-DQT_THREAD_SUPPORT -D_REENTRANT -DQT_NO_DEBUG -DIQRMODULE) SET(QT_MT_REQUIRED TRUE) find_package(Qt5Widgets) FIND_PACKAGE(OpenCV REQUIRED) IF(NOT DEFINED IQR_INCLUDE_DIR) set (IQR_INCLUDE_DIR "/usr/include/iqr") #default for linux ENDIF(NOT DEFINED IQR_INCLUDE_DIR) IF(NOT EXISTS ${IQR_INCLUDE_DIR}) message(STATUS "not […]

Emacs:编辑没有stream行的根文件

下面是在非root用户运行emacs中打开root文件的方法: erf () { SUDO_EDITOR="emacsclient -n -a emacs" sudoedit $@; } ;; erf = Emacs Root Foreground 它会询问一个root密码,一旦你input密码,它会在/tmp打开一个文件的副本。 例: $ cd /etc/apt $ erf sources.list 打开: sourcesXXiOSmYN.list 。 所以我编辑的东西,并保存与Cx Cs – 但它没有保存: $ sudoedit: sources.list unchanged 我如何让它保存的东西? (function将非常整洁) 编辑 : erf () { SUDO_EDITOR="emacsclient -a emacs" sudoedit $@; } ;; erf = Emacs Root Foreground […]

Eclipse不使用.bashrc中设置的path

每当我从快捷方式运行eclipse时,我无法正确构build我的一些项目,因为我在.bashrc中configuration的PATHvariables没有得到使用。 当我从terminal运行eclipse时,我可以完美地构build我的所有项目,因为它正在运行正确的shell。 问题是我想从我的.bashrc使用PATHvariables而没有永久打开terminal。 我之前尝试过,但是我每天都不小心closures了意外运行eclipse的terminal并丢失了所有未保存的代码。 谁能帮我?