當前位置:首頁 » 操作系統 » obs源碼

obs源碼

發布時間: 2022-04-05 04:53:28

❶ 如何到載百度網議

不久之前,機器之心聯合網路推出 PaddlePaddle 專欄,為想要學習這一平台的技術人員推薦相關教程與資源。在解析過PaddlePaddle框架之後,從這篇文章開始上手,安裝 PaddlePaddle。
目錄
環境
Windows 系統的安裝
在 Windows 上安裝 Docker 容器在 Windows 上安裝 Ubuntu
使用 pip 安裝
使用 Docker 安裝
源碼編譯生成安裝包
在本地編譯生成安裝包在 Docker 編譯生成安裝包
編譯 Docker 鏡像
測試安裝環境
最後提示
項目代碼
參考資料
環境
系統:Ubuntu 16.0.4(64 位)處理器:Intel(R) Celeron(R) CPU內存:8G
Windows 系統的安裝
PaddlePaddle 目前還不支持 Windows,如果讀者直接在 Windows 上安裝 PaddlePaddlePaddle 的話,就會提示沒有找到該安裝包。如果讀者一定要在 Windows 上工作的話,筆者提供兩個建議:一、在 Windows 系統上使用 Docker 容器,在 Docker 容器上安裝帶有 PaddlePaddle 的鏡像;二、在 Windows 系統上安裝虛擬機,再在虛擬機上安裝 Ubuntu。
在 Windows 上安裝 Docker 容器
首先下載 Docker 容器的工具包 DockerToolbox,筆者使用這個安裝包不僅僅只有 Docker,它還包含了 VirtualBox 虛擬機,使用者工具包我們就不用單獨去安裝 VirtualBox 虛擬機了,DockerToolbox 的官網下載地址:https://docs.docker.com/toolbox/toolbox_install_windows/
下載之後,就可以直接安裝了,雙擊安裝包,開始安裝

選擇安裝路徑,筆者使用默認的安裝路徑

然後安裝所依賴的軟體,因為筆者之前在電腦上已經安裝了 git,所以在這里就不安裝了,其他都要勾選

這一步不用修改什麼,讓程序為我們創建一個桌面快捷鍵

最後就可以安裝了,等待一小段時間即可

到這里就安裝完成了

安裝完成之後,如果直接啟動 Docker 的話,有可能可能會卡在這里,因為還有下載一個 boot2docker.iso 鏡像,網速比較慢的話就可能一直卡在這里。所以我們還要鏡像下一步操作

Running pre-create checks...
(default) No default Boot2Docker ISO found locally, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v17.12.1-ce
(default) Downloading C:\Users\15696\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v17.12.1-ce/boot2docker.iso...
在下載 DockerToolbox 的時候,這個工具就已經帶有 boot2docker.iso 鏡像了。並且存在 DockerToolbox 安裝的路徑上,筆者的路徑是:
C:\Program Files\Docker Toolbox\boot2docker.iso
我們把這個鏡像復制到用戶目錄\.docker\machine\cache\,如筆者的目錄如下:

C:\Users\15696\.docker\machine\cache\
復制完成之後,雙擊桌面快捷方式 Docker Quickstart Terminal,啟動 Docker,命令窗口會輸出以下信息:

Running pre-create checks...
Creating machine...
(default) Copying C:\Users\15696\.docker\machine\cache\boot2docker.iso to C:\Users\15696\.docker\machine\machines\default\boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to create a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Found a new host-only adapter: "VirtualBox Host-Only Ethernet Adapter #3"
(default) Windows might ask for the permission to configure a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.

(default) Waiting for an IP...
最後看到 Docker 的 logo 就表示成功安裝 Docker 容器了

## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
Start interactive shell
15696@ MINGW64 ~
$
到這就可以使用 Docker 來安裝 PaddlePaddle 了,具體請看本文章中關於 Docker 使用 PaddlePaddle 部分
在 Windows 上安裝 Ubuntu
在 Windows 上在 Ubuntu 就要先安裝虛擬機,虛擬機有很多,筆者使用的是開源的 VirtualBox 虛擬機,VirtualBox 的官網:https://www.virtualbox.org/
安裝完成 VirtualBox 虛擬機之後,進入到 VirtualBox 虛擬機中點擊新建,創建一個系統

選擇分配的內存,我這里只是分配了 2G,如果正式使用 PaddlePaddle 訓練模型,這遠遠不夠,讀者可以根據需求分配內存

創建一個虛擬硬碟

選擇默認的 VDI 硬碟文件類型

這里最好是選擇動態分配硬碟,這樣虛擬機會根據實際佔用的空間大小使用電腦本身的磁碟大小,這樣會減少電腦空間的佔用率的。如果是固定大小,那麼創建的虛擬機的虛擬硬碟一開始就是用戶設置的大小了。

這里就是選擇虛擬硬碟大小的,最後分配 20G 以上,筆者分配 30G,應該夠用。

然後選擇剛才創建的 Ubuntu 系統,點擊設置,這系統中取消勾選軟碟機,然後點擊存儲,選擇 Ubuntu 鏡像,筆者使用的是 64 位 Ubuntu 16.04 桌面版的鏡像

最後就可以啟動安裝 Ubuntu 了。選擇我們創建的 Ubuntu 系統,點擊啟動,進入到開始安裝界面,為了方便使用,筆者選擇中文版的

為了安裝之後不用在安裝和更新應用,筆者勾選了安裝 Ubuntu 時下載更新,這樣在安裝的時候就已經更新應用了

然後是選安裝的硬碟,因為我們使用的自己創建的整一個硬碟,所以我們可以直接選擇青春整個硬碟並安裝 Ubuntu,這里就不用考慮分區和掛載問題了

選擇所在的位置,這沒什麼要求的,筆者隨便選擇一個城市

然後是選擇鍵盤的布局,通常的鍵盤布局都是英語(美國)

創建 Ubuntu 的用戶名稱和密碼

最後就是安裝了,這個安裝過程可能有點久,耐心等待

安裝完成之後就可以在 Windows 系統上使用 Ubuntu 系統了,我們再使用 Ubuntu 來學習和使用 PaddlePaddle 做深度學習了。最好安裝完成之後,把在存儲中設置的 Ubuntu 鏡像移除

在本篇文章之後部分都是在 Ubuntu 上操作,我們都可以使用 Ubuntu 這虛擬機來完成。
如果讀者使用的是 Windows 10,可以使用 Windows 系統自帶的 linux 子系統,安裝教程可以看我之前的文章 Windows10 安裝 Linux 子系統。
使用 pip 安裝
如果你還沒有在 pip 命令的話,首先要安裝 pip,要確保安裝的 pip 版本是大於 9.0.0 的,否則可能無法安裝 paddlepaddle。
安裝 pip 命令如下:

sudo apt install python-pip
安裝之後,還有看一下 pip 的的版本 pip --version,如果版本低於 9.0.0,那要先升級 pip,先要下載一個升級文件,命令如下:

wget https://bootstrap.pypa.io/get-pip.py
下載完成之後,可以使用這個文件安裝最新的 pip 了

python get-pip.py
安裝 pip 就可以動手安裝 paddlepaddle 了。如果許可權不夠,請在 root 下執行命令
pip install paddlepaddle
現在就測試看看 paddlepaddle 有沒有,在 python 的命令終端中試著導入 paddlepaddle 包:

import paddle.v2 as paddle
如果沒有報錯的話就證明 paddlepaddle 安裝成功了。
使用 Docker 安裝
為什麼要使用 Docker 安裝 paddlepaddle 呢,Docker 是完全使用沙箱機制的一個容器,在這個容器安裝的環境是不會影響到本身系統的環境的。通俗來說,它就是一個虛擬機,但是它本身的性能開銷很小。在使用 Docker 安裝 paddlepaddle 前,首先要安裝 Docker,通過下面的命令就可以安裝了:

sudo apt-get install docker
安裝完成之後,可以使用 docker --version 查看 Docker 的版本,如果有顯示,就證明安裝成功了。可以使用 docker images 查看已經安裝的鏡像。
一切都沒有問題之後,就可以用 Docker 安裝 paddlepaddle 了,命令如下:

docker pull docker.paddlepaddlehub.com/paddle
在這里不得不說的是,這個安裝過程非常久,也許是筆者的帶寬太小了。安裝完成後,可以再使用 docker images 命令查看安裝的鏡像,應該可以 看到類似這樣一個鏡像,名字和 TAG 會相同,其他信息一般不同

docker.paddlepaddlehub.com/paddle latest 2b1ae16d846e 27 hours ago 1.338 GB
從源碼編譯生成安裝包
我們的硬體環境都有很大的不同,官方給出的 pip 安裝包不一定是符合我們的需求,比如筆者的電腦是不支持 AVX 指令集的,在官方中沒找到這個的安裝包(也行現在已經有了),所以我們要根據自己的需求來打包一個自己的安裝包。
在本地編譯生成安裝包
1. 安裝依賴環境
在一切開始之前,先要安裝好依賴環境,下面表格是官方給出的依賴環境

1.1 安裝 GCC
一般現在的 Ubuntu 都是高於個版本了,可以使用 gcc --version 查看安裝的版本。比如筆者的是 4.8.4,如果你的是版本是低於 4.8.2 的就要更新一下了

sudo apt-get install gcc-4.9
1.2 安裝 CMake
先要從官網下 CMake 源碼
wget https://cmake.org/files/v3.8/cmake-3.8.0.tar.gz
解壓源碼

tar -zxvf cmake-3.8.0.tar.gz
依次執行下面的代碼

# 進入解壓後的目錄
cd cmake-3.8.0
# 執行當前目錄的 bootstrap 程序
./bootstrap
# make 一下
make
# 開始安裝
sudo make install
查看是否安裝成功,cmake --version,如果正常顯示版本,那已經安裝成功了。
1.3 安裝 pip
關於安裝 pip9.0.0 以上的版本,在上面的使用 pip 安裝部分已經講了,這里就不在熬述了
1.4 安裝 numpy
安裝 numpy 很簡單,一條命令就夠了

sudo apt-get install python-numpy
順便多說一點,matplotlib 這個包也經常用到,順便安裝一下

sudo apt-get install python-matplotlib
1.5 安裝 SWIG
執行下面代碼安裝 SWIG,安裝成功之後,使用 swig -version 檢查安裝結果

sudo apt-get install -y git curl gfortran make build-essential automake swig libboost-all-dev
1.6 安裝 Go
官方說可選擇,那看情況吧,如果像安裝安裝吧,筆者順便安裝了,就一條代碼的事情,老規則 go version

sudo apt-get install golang
到這里,依賴環境就已經安裝好了,准備安裝 paddlepaddle。
2. 首先要在 GitHub 上獲取 paddlepaddle 源碼

git clone https://github.com/PaddlePaddle/Paddle.git
3. 然後輸以下命令

# 進入剛下載的 Paddle 裡面
cd Paddle
# 創建一個 build 文件夾
mkdir build
# 進入 build 文件夾里
cd build
# 這就要選好你的需求了,比如筆者沒有使用 GPU,不支持 AVX,為了節省空間,我把測試關閉了,這樣會少很多空間。最後不要少了..
cmake .. -DWITH_GPU=OFF -DWITH_AVX=OFF -DWITH_TESTING=OFF
# 最後 make,生成你想要的安裝包,這個可能很久, 一定要有耐心
make
經過長久的 make 之後,終於生成了我們想要的安裝包,它的路徑在 Paddle/build/python/dist 下,比如筆者在該目錄下有這個安裝包 paddlepaddle-0.11.0-cp27-cp27mu-linux_x86_64.whl,你的命名可能不是這個。之後就可以安裝了,使用 pip 安裝:

# 請切入到該目錄
cd build/python/dist/
# 每個人的安裝包名字可能不一樣。如果許可權不夠,請在 root 下執行命令

pip install paddlepaddle-0.11.0-cp27-cp27mu-linux_x86_64.whl
這個我們就已經安裝了 paddlepaddle,現在就測試看看 paddlepaddle 有沒有安裝成功了,在 python 的命令終端中試著導入 paddlepaddle 包:

import paddle.v2 as paddle
如果沒有報錯的話就證明 paddlepaddle 安裝成功了。
在 Docker 編譯生成安裝包
使用 Docker 就輕松很多了,有多輕松,看一下便知 。
1. 首先要在 GitHub 上獲取 paddlepaddle 源碼

git clone https://github.com/PaddlePaddle/Paddle.git
2. 切入到項目的根目錄下

cd Paddle
3. 生成安裝包
下面一行代碼,提醒一下,這個過程非常長,一定要有耐心,順便把編譯測試關了,減少空間

docker run -it -v $PWD:/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=OFF" -e "-DWITH_TESTING=OFF" docker.paddlepaddlehub.com/paddle:latest-dev bash -x /paddle/paddle/scripts/docker/build.sh
同樣會在 Paddle/build/python/dist 下生成一個安裝包,這對比在本地生成的安裝包,是不是要簡單很多,沒錯這就是 Docker 強大之處,所有的依賴環境都幫我們安裝好了,現在只要安裝這個安裝包就行了:

# 請切入到該目錄
cd build/python/dist/
# 每個人的安裝包名字可能不一樣。如果許可權不夠,請在 root 下執行命令
pip install paddlepaddle-0.11.0-cp27-cp27mu-linux_x86_64.whl
同樣我們要測試看看 paddlepaddle 有沒有安裝成功了,在 python 的命令終端中試著導入 paddlepaddle 包:

import paddle.v2 as paddle
如果沒有報錯的話就證明 paddlepaddle 安裝成功了。
編譯 Docker 鏡像
如果你比較喜歡使用 Docker 來運行你的 paddlepaddle 代碼,但是有沒有你想要的鏡像,這是就要自己來製作一個 Docker 鏡像了,比如筆者的電腦是不支持 AVX 指令集的,還只有 CPU,那麼我就要一個不用 AVX 指令集和使用 CPU 訓練的鏡像。好吧,我們開始吧
1. 我們要從 GitHub 下載源碼:

git clone https://github.com/PaddlePaddle/Paddle.git
2. 安裝開發工具到 Docker image 里

# 切入到 Paddle 目錄下
cd Paddle
# 下載依賴環境並創建鏡像,別少了最後的.

docker build -t paddle:dev .
有可能它不能夠命名為 paddle:dev,我們可以對他從重新命名,ID 要是你鏡像的 ID

# docker tag <鏡像對應的 ID> <鏡像名:TAG>
例如:docker tag 1e835127cf33 paddle:dev
3. 編譯
# 這個編譯要很久的,請耐心等待

docker run --rm -e WITH_GPU=OFF -e WITH_AVX=OFF -v $PWD:/paddle paddle:dev
安裝完成之後,使用 docker images 查看剛才安裝的鏡像。
測試安裝環境
我們就使用官方給出的一個例子,來測試我們安裝 paddlepaddle 真的安裝成功了
1. 創建一個記事本,命名為 housing.py,並輸入以下代碼:

import paddle.v2 as paddle
# Initialize PaddlePaddle.
paddle.init(use_gpu=False, trainer_count=1)
# Configure the neural network.
x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(13))
y_predict = paddle.layer.fc(input=x, size=1, act=paddle.activation.Linear())
# Infer using provided test data.
probs = paddle.infer(
output_layer=y_predict,
parameters=paddle.dataset.uci_housing.model(),
input=[item for item in paddle.dataset.uci_housing.test()()])
for i in xrange(len(probs)):
print 'Predicted price: ${:,.2f}'.format(probs[i][0] * 1000)
2. 執行一下該代碼
在本地執行代碼請輸入下面的命令
python housing.py
在 Docker 上執行代碼的請輸入下面的代碼

docker run -v $PWD:/work -w /work -p 8899:8899 docker.paddlepaddle.org/paddle python housing.py
-v 命令是把本地目錄掛載到 docker 鏡像的目錄上,-w 設置該目錄為工作目錄,-p 設置埠號,使用到的鏡像是在使用 Docker 安裝部分安裝的鏡像 docker.paddlepaddle.org/paddle
3. 終端會輸出下面類似的日誌

I0116 08:40:12.004096 1 Util.cpp:166] commandline: --use_gpu=False --trainer_count=1
Cache file /root/.cache/paddle/dataset/fit_a_line.tar/fit_a_line.tar not found, downloading https://github.com/PaddlePaddle/book/raw/develop/01.fit_a_line/fit_a_line.tar
[==================================================]
Cache file /root/.cache/paddle/dataset/uci_housing/housing.data not found, downloading https://archive.ics.uci.e/ml/machine-learning-databases/housing/housing.data
[==================================================]
Predicted price: $12,316.63
Predicted price: $13,830.34
Predicted price: $11,499.34
Predicted price: $17,395.05
Predicted price: $13,317.67
Predicted price: $16,834.08

Predicted price: $16,632.04
如果沒有成功運行該代碼,報錯信息如下,說明安裝的 paddlepaddle 版本過低,請安裝高版本的 paddlepaddle

I0116 13:53:48.957136 15297 Util.cpp:166] commandline: --use_gpu=False --trainer_count=1
Traceback (most recent call last):
File "housing.py", line 13, in <mole>
parameters=paddle.dataset.uci_housing.model(),

AttributeError: 'mole' object has no attribute 'model'
最後提示
有很多學習者會出現明明安裝完成 PaddlePaddle 了,但是在 PaddlePaddle 的時候,在初始化 PaddlePaddle 這一行代碼出錯

paddle.init(use_gpu=False, trainer_count=1)
這個多數是讀者的電腦不支持 AVX 指令集,而在 PaddlePaddle 的時候,安裝的是支持 AVX 指令集的版本,所以導致在初始化 PaddlePaddle 的時候報錯。所以在安裝或者編譯 PaddlePaddle 安裝包時,要根據讀者電腦本身的情況,選擇是否支持 AVX 指令集。查看電腦是否支持 AVX 指令集,可以在終端輸入以下命令,輸出 Yes 表示支持,輸出 No 表示不支持。
if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi
項目代碼
GitHub 地址:https://github.com/yeyupiaoling/LearnPaddle
參考資料
http://paddlepaddle.org/
https://pip.pypa.io/en/stable/
http://www.runoob.com/
http://www.linuxidc.com/Linux/2016-12/138489.htm
https://www.jianshu.com/p/c6264cd5f5c7

❷ 知識付費系統源碼哪個好

知識付費源碼廣義上來說就是知識付費系統。
短書支持搭建各種類型的知識付費系統。對於需要知識付費系統源碼來打造知識付費平台的用戶而言,可以用多種形式的音頻、視頻和直播等來做自己的知識付費內容,也可以配上圖文來加強用戶理解。它支持微信語音互動直播、視頻錄播、語音直播互動、OBS錄屏直播和手機實時直播,多個埠播放讓各種場景能夠結合起來,為學員提供比較全面的服務。對於自媒體、教育機構以及想要知識付費源碼來變現的人來說是方便快捷的選擇。

❸ 有正在或者曾經剖析OBS源碼的程序員朋友嗎

新版的OBS的名字叫obs-studio,是全新的框架,可以運行在Linux、Windows及mac OS上,只需要在對應的平台編譯項目就可以安裝使用。
希望對你有幫助 望採納

❹ 如何編譯tizen源碼

講述如何編譯源碼.
1 下載安裝gbs編譯工具
tizen源碼是用gbs工具進行編譯的,因此我們首先得將此工具下載下來,並且設置好。
下面以Ubuntu12.04版本為例.
1.1 添加gbs的源
用vim打開source.list文件:

$ sudo vim /etc/apt/sources.list

在最後添加兩行:

deb http://download.tizen.org/tools/latest-release/Ubuntu_12.04/ /
deb-src http://download.tizen.org/tools/latest-release/Ubuntu_12.04/ /

如下圖:

然後更新源:

$sudo apt-get update
安裝gbs工具:

$sudo apt-get install gbs
可以相看當前gbs的版本:

$ gbs -V
gbs 0.16

1.2 修改.gbs.config文件
安裝完gbs工具後,會在用戶目錄下生成一隱藏文件.gbs.config文件,用vim打開:

$vim .gbs.config

初始安裝gbs後的.gbs.config文件的默認內容如下:

[general]
#Current profile name which should match a profile section name
profile = profile.tizen

[profile.tizen]
#Common authentication info for whole profile
#user =
#CAUTION: please use the key name "passwd" to reset plaintext password
#passwd =
obs = obs.tizen
#Comma separated list of repositories
repos = repo.tizen_latest
#repos = repo.tizen_main, repo.tizen_base

[obs.tizen]
#OBS API URL pointing to a remote OBS.
url = https://api.tizen.org
#Optional user and password, set if differ from profile's user and password
#user =
#passwd =

#Repo section example
[repo.tizen_latest]
#Build against repo's URL
url = http://download.tizen.org/releases/daily/trunk/ivi/latest/
#Optional user and password, set if differ from profile's user and password
#user =
#passwd =

#Indivial repo is also supported
#[repo.tizen_base]
#url = http://download.tizen.org/releases/daily/trunk/ivi/latest/repos/base/ia32/packages/
#[repo.tizen_main]
#url = http://download.tizen.org/releases/daily/trunk/ivi/latest/repos/ivi/ia32/packages/

修改為:

[general]
#Current profile name which should match a profile section name
profile = profile.tizen

[profile.tizen]
#Common authentication info for whole profile
#user =
#CAUTION: please use the key name "passwd" to reset plaintext password
#passwd =
obs = obs.tizen
#Comma separated list of repositories
#repos = repo.tizen_latest
repos = repo.tizen_main, repo.tizen_base

[obs.tizen]
#OBS API URL pointing to a remote OBS.
url = https://api.tizen.org
#Optional user and password, set if differ from profile's user and password
#user =
#passwd =

#Repo section example
#[repo.tizen_latest]
#Build against repo's URL
#url = http://download.tizen.org/releases/daily/trunk/ivi/latest/
#Optional user and password, set if differ from profile's user and password
#user =
#passwd =

#Indivial repo is also supported
[repo.tizen_base]
#url = http://download.tizen.org/releases/daily/trunk/ivi/latest/repos/base/ia32/packages/
url = http://download.tizen.org/releases/daily/2.0alpha/ivi-wayland/tizen-2.0alpha_20130522.2/repos/base/ia32/packages/
[repo.tizen_main]
#url = http://download.tizen.org/releases/daily/trunk/ivi/latest/repos/ivi/ia32/packages/
url = http://download.tizen.org/releases/daily/2.0alpha/ivi-wayland/tizen-2.0alpha_20130522.2/repos/ivi-wayland/ia32/packages/

有關.gbs.config文件的格式說明請參照:http://blog.csdn.net/flydream0/article/details/9018443

2 本地編譯源碼
編譯要求:
OS:Ubuntu12.04(64位)
內存:至少4G
Swap(交換分區大小):至少4G
註:內存和Swap大小都必要至少4G以上,不然會編譯不過。操作系統必須是64位的,雖然在32位下也能源碼編譯通過,但是到後續製作鏡像文件(使用mic工具時)會失敗。

2.1 編譯所有工程

輸入如下指令進行編譯:
cd到profile目錄下, 然後通過如下指令對整個profile進行編譯.

$ gbs build -A i586

接下來要花很長一段時間才能編譯完。

編譯完後如下界面:

2.2 編譯單個工程

當然也可以只針對某個project進行編譯,方法很簡單,只需要cd到某個project的根目錄,然後使用
$gbs build -A i586
即可。
2.3 編譯後的輸出目錄
在默認情況下,gbs build後將用戶的工作目錄(即~/)下生成GBS-ROOT目錄保存下載或編譯後的結果。如下:

$ tree GBS-ROOT/ -L 3
GBS-ROOT/
└—— local
├—— BUILD-ROOTS
│ └—— scratch.i586.0
├—— cache
│ ├——
│ └——
├—— order
├—— repos
│ └—— tizen2.0alpha
└—— sources
└—— tizen2.0alpha

其中repos目錄保存著RPM包:

$ tree repos/ -L 3
repos/
└—— tizen2.0alpha
└—— i586
├—— logs
├—— repodata
├—— RPMS
└—— SRPMS

其中RPMS和SRPMS保存著編譯後的結果RPM包,這些包為下一步製作鏡像文件提供RPM包。

3 遠程編譯源碼
tizen源碼不但可以在本地進行編譯,還可以使用遠程編譯。所謂遠程編譯就是將本地的修改自動上傳到遠程伺服器OBS進行編譯。對於tizen源碼,使用gbs remotebuild指令來進行相關操作。這對於本地PC資源達不到要求的情況是十分有用的,只可惜遠程編譯需要授權才能進行,而目前我沒有可以使用的用戶名和密碼,因此,沒有試驗成功過。
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦

❺ 怎麼查看swiperefreshlayout源碼

SwipeRefreshLayout 的下拉刷新距離比較短,並且也沒有提供設置下拉距離的 API,但是看 SwipeRefreshLayout 的源碼,會發現有一個內部變數 mDistanceToTriggerSync,這個變數決定了觸發刷新的下拉距離。下面的代碼展示了源碼中是如何給這個變數賦值的:

final DisplayMetrics metrics = getResources().getDisplayMetrics();
mDistanceToTriggerSync = (int) Math.min(((View) getParent()).getHeight() * MAX_SWIPE_DISTANCE_FACTOR, REFRESH_TRIGGER_DISTANCE * metrics.density);
上面使用了父視圖高度和一些常數計算來決定觸發距離。MAX_SWIPE_DISTANCE_FACTOR (0.6) 和 REFRESH_TRIGGER_DISTANCE (120) 是私有常量,這些都是我們無法直接修改的。但是,我們可以通過反射的方法來重新計算 mDistanceToTriggerSync 的數值,代碼如下:

復制代碼
ViewTreeObserver vto = swipeLayout.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {

final DisplayMetrics metrics = getResources().getDisplayMetrics();
Float mDistanceToTriggerSync = Math.min(((View) swipeLayout.getParent()).getHeight() * 0.6f, 500 * metrics.density);

try {
Field field = SwipeRefreshLayout.class.getDeclaredField("mDistanceToTriggerSync");
field.setAccessible(true);
field.setFloat(swipeLayout, mDistanceToTriggerSync);
} catch (Exception e) {
e.printStackTrace();
}

ViewTreeObserver obs = swipeLayout.getViewTreeObserver();
obs.removeOnGlobalLayoutListener(this);
}
});
復制代碼
對比下代碼,只是將 REFRESH_TRIGGER_DISTANCE (120) 的數值改為了 500,就會發現下拉刷新的距離明顯增大

java問題 編譯器提示沒有該方法 求教 obs.writeObject(u);User對象已創建

不知道你跟哪弄的這段代碼,但是是錯誤的,ObjectInputStream類沒有writeObject()方法,你當然調不到,他有readObject()方法,有writeObject()方法的是ObjectOutputStream類。你弄反了吧。InputStream都是read,OutputStream才是write

❼ obs游戲源里怎麼沒有lol,進入客戶端有的,然後進去界面又要重新調

obs不是這么用的親…先再來源上弄一個視屏捕捉,再去直播平台拿到兩串源代碼,然後再點開始串流

❽ pc 端開源免費軟體 obs是什麼意思

一個直播工具,主播開播用的

❾ obs錄屏用mkv還是mp4

mp4。

無損錄制的視頻要想發出去肯定得二次壓縮,畢竟沒有設備可以硬解在但其實今天這種方法錄下來的視頻,用重新封裝成MP4就可以直傳B站,至少的我試過可以。反正你自己壓縮了B站也要再壓一次,不如直接給B站伺服器吐源碼,我之前就說過要充分相信現在B站的視頻伺服器。

工作原理

首先將MP4歌曲文件從內存中取出並讀取存儲器上的信號到解碼晶元對信號進行解碼通過數模轉換器將解出來的數字信號轉換成模擬信號再把轉換後的模擬音頻放大低通濾波後到耳機輸出口,輸出後就是我們所聽到的音樂了。

❿ leach協議源碼中senddatatobs和sendmydatatobs什麼區別

3. LEACH協議的不足
(1) 由於LEACH假定所有節點能夠與匯聚節點直接通信,並且每個節點都具備支持不同MAC協議的計算能力,因此該協議不適合在大規模的無線感測器網路中應用。
(2) 協議沒有說明簇頭節點的數目怎麼分布才能及於整個網路。因此,很可能出現被選的簇首節點集中在網路某一區域的現象,這樣就會使得一些節點的周圍沒有任何簇頭節點,從而導致網路能耗分布不均勻。
(3) LEACH假設第一輪的簇頭輪選中所有的節點擁有相同的能量,並且每個簇頭節點都消耗大致相同的能量。因此,協議不適用於節點能量不均衡的網路。
(4) 節點經過簇頭選舉成為簇頭後發布廣播消息告知其他節點。其他節點根據與簇頭節點的距離選擇加入哪個簇。

熱點內容
正則特殊字元需要反編譯嗎 發布:2024-09-28 07:22:56 瀏覽:309
昆特牌外服安卓怎麼登錄 發布:2024-09-28 07:19:17 瀏覽:882
在linux下安裝win7 發布:2024-09-28 07:14:55 瀏覽:390
伺服器170台電腦配置 發布:2024-09-28 07:09:09 瀏覽:777
iis設置ftp 發布:2024-09-28 06:39:18 瀏覽:410
阿里雲伺服器購買價格 發布:2024-09-28 06:38:37 瀏覽:621
緩存平台 發布:2024-09-28 06:38:34 瀏覽:956
分類器python 發布:2024-09-28 06:38:32 瀏覽:269
編譯原理技術與工具 發布:2024-09-28 06:38:32 瀏覽:394
java抽簽 發布:2024-09-28 06:29:27 瀏覽:912