2016-05-02 14 views
8

Stroustrup đã nói chuyện năm ngoái về GSL của mình (Thư viện hỗ trợ hướng dẫn). Có một cài đặt bởi Micosoft tại https://github.com/Microsoft/GSL. Tôi đã có ấn tượng rằng GSL được cho là sẽ tư vấn về phong cách mã hóa tồi và đề xuất các cải tiến.Nguyên tắc C++ GSL là gì?

Để kết thúc này, tôi cài đặt GSL MSFT và tạo ra một C++ file:

#include <stdio.h> 
#include <gsl.h> 

int main() 
{ 
     int *i = new int; 
     puts("hello world"); 
} 

và xây dựng nó bằng cách sử dụng Makefile:

msft : msft.cc 
     g++ -std=gnu++14 -I ../../src/GSL/include $^ -o [email protected] 

.PHONY : clean 
clean : 
     rm -f msft 

Rõ ràng, có một sự rò rỉ tài nguyên trong các mã gây ra bởi "mới".

Vì vậy, bây giờ tôi đang bối rối.

  • GSL thực sự phải "làm gì"?
  • Tôi có thể lấy trình kiểm tra mã nguồn cảnh báo hướng dẫn không tuân thủ ở đâu? Stroustrup dường như ngụ ý rằng nó thực sự tồn tại như một công cụ, nhưng đó là trường hợp?
+0

tốt, ít nhất là chúng trung thực .. "giả định nền tảng triển khai hỗ trợ C++ 14. Có giải pháp cụ thể để hỗ trợ MSVC 2013 và 2015." Để công bằng, sự hiểu biết của tôi là hỗ trợ C++ 11 họ phải hoàn toàn xây dựng lại toàn bộ trình biên dịch của họ ... nhưng đã 5 năm và họ vẫn còn những thiếu sót cơ bản. Biểu hiện sfinae? không được hỗ trợ. – xaxxon

+1

Tôi không tin rằng điều này là phù hợp. Câu hỏi này đặt ra cách sử dụng GSL, một câu hỏi StackOverflow hoàn toàn tốt. Nó chỉ yêu cầu một đề xuất cho một công cụ đi qua, trong điểm bullet cuối cùng, có thể bị xóa một cách đáng kể. –

Trả lời

2

Bạn phải sử dụng chúng như được đề xuất trong CppCoreGuidelines.

Đọc chúng, hiểu cách áp dụng cho các thói quen/vấn đề về lập trình/codebase của bạn.

Visual Studio 2015 có plugins đó giúp bạn để kiểm tra xem mã của bạn cư xử cũng theo GSL

0

Các Guidelines Support Library (xem thêm gsl-lite như một sự thay thế) là một Thư viện C++ mà thực hiện một số chức năng và các lớp học khuyến cáo trong số C++ Core Guidelines. Tài liệu có lời khuyên về cách sử dụng C++ hiện đại. Nó là đáng đọc hoặc lướt qua Hướng dẫn cốt lõi C++ nếu bạn muốn cải thiện việc sử dụng C++ của bạn. Sử dụng thư viện GSL ít quan trọng hơn, nhưng có thể hữu ích nếu bạn thấy mình đang triển khai mã đã có trong đó. Nguyên tắc cốt lõi của C++ đã tồn tại trong vài năm nay, vì vậy một số thứ, chẳng hạn như string_view, đã có sẵn (tùy thuộc vào phiên bản nào của C++ mà bạn đang biên dịch) và không yêu cầu thư viện bên ngoài để sử dụng.

Các vấn đề liên quan