Skip to main content

First post using stackedit

Welcome to StackEdit! Hey! I’m your first Markdown document in StackEdit1. Don’t delete me, I’m very helpful! I can be recovered anyway in the Utils tab of the Settings dialog.
Documents StackEdit stores your documents in your browser, which means all your documents are automatically saved locally and are accessible offline!
Note:
StackEdit is accessible offline after the application has been loaded for the first time.Your local documents are not shared between different browsers or computers.Clearing your browser’s data may delete all your local documents! Make sure your documents are synchronized with Google Drive or Dropbox (check out the Synchronization section). Create a document The document panel is accessible using the button in the navigation bar. You can create a new document by clicking New document in the document panel.
Switch to another document All your local documents are listed in the document panel. You can switch from one to another by clicking a document in the li…

Sử dụng gcov để kiểm tra sourcecode

Sau khi hoàn thành source code, trong test phase, có thể chúng ta cần kiểm tra tập test case của chúng ta có coverage tất cả các trường hợp có thể xảy ra hay không, hành động này gọi là test code coverage.
Có nhiều tool miễn phí cũng như có phí để thực hiện việc này, nhưng đơn giản nhất là sử dụng công cụ gcov đi kèm trong trình biên dịch gcc.
Để đọc chi tiết hơn về gcov, bạn có thể vào http://gcc.gnu.org/onlinedocs/gcc/Gcov.html#Gcov, hoặc tìm kiếm với Google.
Sử dụng gcov khá đơn giản, giả sử ta có 3 file a.c, b.c và c.c.
Truy cập vào thư mục chứa 3 files này, gõ:
gcc -fprofile-arcs -ftest-coverage a.c b.c c.c
Mặc định gcc sẽ tạo ra file a.out trong thư mục hiện thời, cùng với 3 file a.gcno, b.gcno và c.gcno.
Sau đó bạn chạy file a.out với các parameter cần thiết, sẽ tạo ra thêm 3 file a.gcda, b.gcda và c.gcda.

Sau đó, giả sử cần phân tích file b.c, chúng ta gõ:
gcov b.c
Có hai tham số thường dùng là -b và -f:
-b: thêm thông tin về branch trong code.
-f: thêm thông tin về hàm.
Thông tin tóm tắt sẽ được xuất ra standard output (có thể chuyển hướng output).
Thông tin chi tiết được ghi trong file b.c.gcov.
File b.c.gcov sẽ có dạng:
23: 56: a = 3; //dòng thứ 56 được thực thi 23 lần.
-: 34: { // dòng thứ 23 không được thực hiện
####: 87: } // dòng thứ 87 không được thực hiện
Còn có nhiều thông tin khác bạn có thể tham khảo thêm.

Note: có thể viết shell script để thực hiện tự động với nhiều test case.
gcov tự động ghi thêm thông tin mà không xóa thông tin cũ nếu file a.out được thực hiện nhiều lần.
Ví dụ, nếu a.out chạy 100 lần thì thông tin cuối cùng được ghi vào a.c.gcov, b.c.gcov, v.v... là thông tin tổng hợp của 100 lần chạy.

Comments

Popular posts from this blog

Installing tensorflow on Mac OS 10.11

Tensorflow (https://www.tensorflow.org/) is the open source deep learning library from Google (http://www.wired.com/2015/11/google-open-sources-its-artificial-intelligence-engine/).

Installing Tensorflow is not easy on Mac if you follow exactly the installation instruction on the homepage. I have no idea why. I have error then error while trying to install Tensorflow with pip, with virtualenv, or even with Docker.

However, with Anaconda (https://www.continuum.io/downloads), it will be easy. The trick is you should download the wheel file and install it offline other than retrieving it online as suggested by Tensorflow homepage.

So, with anaconda for python2 installed, I did:

# create a new environment with sklearn installed, up to you
# if you want a pure Python, replace scikit-learn by python
conda create -n tensorflow scikit-learn

# activate the new environment
source activate tensorflow

# download the wheel file

curl https://storage.googleapis.com/tensorflow/mac/tensorflow-0.6.0-py2-none-…

Luật doanh nghiệp năm 2005 song ngữ Việt - Anh

Văn bản: Luật doanh nghiệp số 60/2005/QH11, được thông qua tại kỳ họp thứ 8, Quốc hội khóa XI, ngày 29 tháng 11 năm 2005, có hiệu lực từ ngày 1 tháng 7 năm 2006.
Nguồn văn bản tiếng Anh: Bộ tư pháp


Định dạng: PDF
Song ngữ Việt - Anh.
Người biên tập: vinhdq.blogspot.com
Link download: http://adf.ly/6J3a9
Password: bloglangthang.tk