- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有三个 C 源文件。前两个是 LIB(lib*.a?),第三个是使用它们的应用程序。
第一个是(re.c):
int re(int i) {
return i;
}
第二个是(test.c):
int re(int); // Depends on re.c
int test(int i) {
return re(i);
}
第三个是(main.c):
#include
int test(int); // Uses test.c
int main(void) {
printf("%d\n",test(0));
trả về 0;
}
现在如何创建前两个 LIB,以便稍后将它们与主应用程序静态链接?
我知道如何创建 DLL 并在我的应用程序中动态链接它们,例如:
<小时>小时>cc -o re.dll re.c -shared -Wl,--out-implib=libre.a (for re.c)
cc -o test.dll test.c -L. -lre -shared -Wl,--out-implib=libtest.a (for test.c)
cc -o main.exe main.c -L. -lre -ltest
那么如何创建等效的 LIB 以在 MinGW 中的可执行二进制文件中静态链接,以及如何链接它们?
显然,在 Windows 下:)
1 Câu trả lời
我在这里找到了解决方案:http://www.codeproject.com/Articles/84461/MinGW-Static-and-Dynamic-Libraries
这个想法是编译所有库(源文件)而不链接。然后使用 ar rcs -o lib*.a *.o 转换输出对象,其中 * 是创建的对象的名称(将它们一一转换)。之后,我们只需使用 -L.
编译应用程序来指定目录,并使用 -l*
来指定不带 GNU 命名修饰的库名称。
对于那些依赖于其他库的库,应该先指定它们,然后再指定引用的库,否则当我执行-lre -ltest时会出现诸如
,TRONG undefined reference to re
之类的错误-ltest -lre
是正确的,因为测试库引用了 re 库。
这是我编译它的方法:
cc -c -o test.o test.c
cc -c -o re.o re.c
ar rcs -o libtest.a test.o
ar rcs -o libre.a re.o
cc -o main.exe main.c -L. -ltest -lre
它也适用于 Tiny C 编译器。
关于mingw - MinGW 中的静态链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10774937/
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để bạn có thể trả lời bằng thông tin và trích dẫn bằng cách chỉnh sửa bài đăng này. Đã đóng 5 năm trước. Cải thiện
Có cách nào trong phương thức tĩnh C# để tham chiếu đến kiểu mà phương thức được định nghĩa không? Trong một phương thức thể hiện, bạn có thể xác định kiểu theo cách này: public void Foo() { Type type = this.GetTyp
WPF: tài nguyên tĩnh, tài nguyên động và từ điển tài nguyên Tài nguyên tĩnh và tài nguyên động Chúng ta thường sử dụng các kiểu hoặc mẫu điều khiển để đặt chúng trong Window.Resources, chẳng hạn như thế này: Tài nguyên tĩnh và tài nguyên động được sử dụng như sau: <>
Có ai biết cách tải các điều khiển động trong một hàm chia sẻ/tĩnh không? Bản thân hàm này nằm trong lớp mustinherit/abstract. (Đây là một dự án ASP.NET trong VB) Tôi muốn làm điều gì đó như thế này: VB: Publ
Theo tôi, điều có giá trị nhất về ngôn ngữ lập trình kiểu tĩnh/mạnh là nó tạo điều kiện thuận lợi cho việc tái cấu trúc: nếu/khi bạn thay đổi bất kỳ API nào, trình biên dịch sẽ cho bạn biết thay đổi đó đã làm hỏng phần nào. Tôi có thể tưởng tượng việc viết mã trong ngôn ngữ thời gian chạy/ngôn ngữ có kiểu yếu... nhưng tôi không thể tưởng tượng việc thực hiện điều đó mà không có sự trợ giúp của trình biên dịch.
Như tên của tôi gợi ý, tôi là một nhà phát triển .NET, nhưng tôi ngày càng quan tâm đến Java và tôi muốn học thêm các ngôn ngữ khác vì điều này sẽ giúp tôi hiểu thêm về lập trình. Dù sao thì câu hỏi của tôi là:
Tôi đang sử dụng WireMock trong Java để xử lý các yêu cầu POST. Yêu cầu trả về một tệp nội dung json được lưu trữ cục bộ trên máy của tôi. Đoạn mã gốc trông như thế này: wireMockServer.stubFor(get(url
Python có cơ chế nào cho hàm tạo lớp không, tức là các hàm được gọi bất cứ khi nào một lớp được tham chiếu lần đầu (thay vì khi một thể hiện của đối tượng đó được tạo)? Tôi biết tính năng này có trong một số ngôn ngữ khác, nhưng tôi chưa gặp nó trong Python. Về cơ bản, tôi muốn khởi tạo
Python có cơ chế nào cho hàm tạo lớp không, tức là các hàm được gọi bất cứ khi nào một lớp được tham chiếu lần đầu (thay vì khi một thể hiện của đối tượng đó được tạo)? Tôi biết tính năng này có trong một số ngôn ngữ khác, nhưng tôi chưa gặp nó trong Python. Về cơ bản, tôi muốn khởi tạo
Câu hỏi này đã có câu trả lời: Sự khác biệt giữa đa hình động và tĩnh trong Java là gì? (14 câu trả lời) Đã đóng 4 năm trước
Câu hỏi này đã có câu trả lời: Đã đóng cách đây 10 năm. Có thể trùng lặp: Bộ khởi tạo tĩnh trong Java Tôi đang tự hỏi thứ tĩnh này (xin lỗi, đây là lần đầu tiên tôi gặp phải điều này) có tác dụng gì đối với một lớp
Nếu ứng dụng C++ được tổ chức như sau //file1.cpp static Y sgObj = X::getInitObject(0); //được khai báo trong phạm vi tệp //fil
Tôi có một lớp trừu tượng (AvergedDataRecord) mà tôi cần trừu tượng hóa thêm (DataRecord) để tôi có thể mở rộng nó cho cả lớp gốc và một lớp cụ thể mới (SummedDataRecord) và tôi đang gặp sự cố khi lấy một số phương thức
Tôi đang cố gắng tạo một enum gồm các chuỗi. Đây là những gì tôi có cho đến nay, private class TypedEnum : IEnumerable { public IEnumerator GetEnume
Tôi đang học một lớp có tên là "Mã bảo mật" và trong bài tập tiếp theo, chúng tôi phải thực hiện phân tích tĩnh/động trên một số tệp C và một dự án web JavaEE. Tôi đã kiểm tra Source Monitor và chạy nó trên tệp C, nhưng (trừ khi tôi không biết
Tôi có hai lớp, một là lớp đăng nhập và một là lớp người dùng. Trong lớp loggedIn, tôi muốn hiển thị các tùy chọn chia sẻ mà tôi đã thực hiện khi người dùng đăng nhập. loginPrefs = getSharedPreferences("loginprefe
Tôi có hai đoạn tĩnh trong cùng một Hoạt động, trong "fragmentA" tôi có một danh sách tùy chỉnh, khi nhấp vào một mục, chi tiết phải xuất hiện trong "fragmentB", chi tiết chỉ xuất hiện khi tôi thay đổi hướng màn hình
Trong Java, biến phương thức không được sửa đổi, thiếu final, được khởi tạo lại mỗi lần định danh phương thức tĩnh phương thức thể hiện Nếu câu trả lời cho 1. hoặc 2. (hoặc cả hai) là có thì final cho phép Java thực hiện tối ưu hóa và chỉ lưu trữ biến phương thức một lần?
Tôi có hai lớp tương tác với nhau. Cái đầu tiên là cái ở giữa, như sau: public class Datenbank { double winkelPanel = 0; double groessePanel = 0; double
Tôi có một cơ sở dữ liệu mysql kết nối với một ứng dụng php trên nền tảng web và một ứng dụng FoxPro (đúng vậy, foxpro). Bắt đầu giải quyết vấn đề này sau khi "nhà phát triển" trước đó bị sa thải. Dù sao thì tôi cũng quen thuộc với AES_Enc
Tôi là một lập trình viên xuất sắc, rất giỏi!