2010-08-18 41 views
5

Tôi biết cách viết phần mở rộng vỏ trong python.
Những nhược điểm làNgôn ngữ nào để viết các mở rộng vỏ windows

  • nó không hoạt động trên Windows 64 bit
  • Tôi chắc chắn về cách tạo ra một quá trình trăn mọi cái gì đó “xảy ra” làm giảm hiệu suất.

tôi biết làm thế nào để viết phần mở rộng trình bao sử dụng Net (C#)
Những nhược điểm là

  • discouraged by MS
  • Tôi không chắc chắn cách này làm giảm hiệu suất. (hiện nó?)

Tôi đã thấy mở rộng vỏ được viết bằng pascal (miễn phí).

  • Có hạn chế sử dụng phương pháp này
  • Điều này làm việc với các cửa sổ 64bit.

phần mở rộng vỏ Obviosly ai có thể viết bằng c hoặc C++

  • Vâng ... Tôi vẫn đang cố gắng để hiểu com trong c và C++ ....

gì optios khác ở đó, những ngôn ngữ nào khác?
Họ có hạn chế không?

+0

Không có ngôn ngữ "C/C++". COM là cực kỳ đau đớn trong C, nhưng khá khả thi trong C + +. – MSalters

+1

MSalters: Tôi nghĩ bạn đã gọi tôi bằng cách sử dụng "c/C++" là một loại ngôn ngữ - vì vậy tôi đã sửa lại điều đó. – Nils

+0

Lập trình COM rõ ràng hơn một chút, nhưng thực tế hơn rất nhiều trong C. –

Trả lời

4

Kể từ NET 4 đến cùng, MS bây giờ làm hỗ trợ Net cho Shell Extensions, kể từ khi vấn đề lớn (không thể lưu trữ nhiều phiên bản CLR trong vỏ) đã được giải quyết thông qua các cơ chế side-by-side:

Với sự khả năng có nhiều thời gian hoạt động thời gian chạy khác với thời gian chạy khác, giờ đây chúng tôi có thể hỗ trợ hỗ trợ chung để viết vỏ được quản lý tiện ích mở rộng — ngay cả những tiện ích chạy đang xử lý với các ứng dụng tùy ý trên máy. Chúng tôi vẫn không hỗ trợ viết tiện ích mở rộng vỏ bằng cách sử dụng bất kỳ phiên bản nào sớm hơn .NET Framework 4 vì các phiên bản thời gian chạy không tải trong quá trình và sẽ gây ra lỗi trong nhiều trường hợp.

+0

ok, tốt ... Không làm cho nó nhanh hơn, mặc dù? Hay là việc thiếu trí tưởng tượng chỉ là tưởng tượng của tôi? – Nils

+1

Tôi sẽ không mong đợi các vấn đề về hiệu suất phát sinh - và việc bạn giả định một quy trình CLR mới được tách ra cho mọi hành động có vẻ không chính xác. –

+0

điều cần biết. cảm ơn Damien. – Nils

0

vì trình khám phá đang chạy mọi lúc, vui lòng sử dụng ngôn ngữ hiệu quả và gần với hệ điều hành nhất có thể. C hoặc C++.

+0

không phải là pascal (hoặc vb6, mà tôi quên ở trên) bằng nhau nhanh chóng khi biên dịch? – Nils

+0

vb6 chắc chắn là không. tôi không biết gì về pascal.nhưng tôi quan tâm đến việc chuyển tiếp khái niệm hơn ngôn ngữ cụ thể để sử dụng. – tenfour

+0

Tôi rất ngạc nhiên khi tôi được bình chọn để hỗ trợ lời khuyên tương tự như liên kết blog trong OP – tenfour

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