απαιτήσεις: Όταν προσομοιώνουμε αιτήματα HTTP, οι παράμετροι αιτήματος και το περιεχόμενο αιτήματος ενδέχεται να περιλαμβάνουν κάποιο περιεχόμενο αλγορίθμου, ο αλγόριθμος μπορεί να βρεθεί από JavaScript, εάν μεταφράσουμε τον αλγόριθμο js στη γλώσσα προγραμματισμού που χρησιμοποιούμε (π.χ. Java, C#), είναι πιο δύσκολο, συνήθως το περιεχόμενο js είναι συμπιεσμένο και μπερδεμένο, οπότε αν μεταφράσουμε απευθείας το js σε μια βιβλιοθήκη κλάσεων για να καλέσουμε, είναι πολύ καλό.
Χρησιμοποιήστε το JSC για να δημιουργήσετε το πρόγραμμα exe σε JavaScript
test1.js κωδικός έχει ως εξής:
Ανοίξτε την εντολή προγραμματιστή VS 2019 και εισαγάγετε τα εξής:
Προσπαθήστε να εκτελέσετε το πρόγραμμα main.exe, εκτελούμε το πρόγραμμα μέσω της εντολής cmd, κάντε διπλό κλικ απευθείας και το πρόγραμμα θα αναβοσβήσει, ως εξής:
Χρησιμοποιήστε το JSC για να δημιουργήσετε μια βιβλιοθήκη dll JavaScript
test.js κώδικας έχει ως εξής:
Η εντολή είναι η εξής:
Δημιουργία νέου έργου κονσόλας .NET 4 που αναφέρεται στη βιβλιοθήκη κλάσεων common.dll
Στη συνέχεια, δημιουργήστε το αντικείμενο και καλέστε τη μέθοδό του. Ο κωδικός έχει ως εξής:
Οπως φαίνεται παρακάτω:
Μπορείτε να χρησιμοποιήσετε το εργαλείο ILSpy για να δείτε τον πηγαίο κώδικα dll που δημιουργήθηκε, όπως φαίνεται στο παρακάτω σχήμα:
Διαδρομή αρχείου προγράμματος jsc: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Παράμετρος:
Microsoft (R) JScript Compiler έκδοση 14.00.3752 για Microsoft (R) .NET Framework έκδοση 4.0.30319 Πνευματικά δικαιώματα (C) Microsoft Corporation. Ολα τα δικαιώματα διατηρούνται.
JSC [Επιλογές] <源文件> [[Επιλογές] <源文件>...]
Επιλογές μεταγλωττιστή JScript
- Αρχείο εξόδου - /out:<file> Καθορίζει το όνομα του δυαδικού αρχείου εξόδου /t[arget]:exe Δημιουργία εφαρμογής κονσόλας (προεπιλογή) /t[arget]: winexe για τη δημιουργία μιας εφαρμογής των Windows /t[arget]: Η βιβλιοθήκη δημιουργεί μια συγκρότηση βιβλιοθήκης /platform:<platform> Περιορίζει τις πλατφόρμες στις οποίες μπορεί να εκτελεστεί αυτός ο κώδικας. Πρέπει να είναι x86, Itanium, x64 ή οποιαδήποτε CPU (προεπιλεγμένη πλατφόρμα)
- Αρχείο εισόδου - /autoref[+|-] Συγκροτήματα αυτόματης αναφοράς με βάση εισαγόμενους χώρους ονομάτων και πλήρως προσδιορισμένα ονόματα (ενεργοποιημένα από προεπιλογή) /lib:<path> Καθορίζει τον πρόσθετο κατάλογο στον οποίο θέλετε να αναζητήσετε αναφορές /r[eference]:<file list> Παραπέμπει σε μεταδεδομένα από το καθορισμένο αρχείο συγκρότησης <λίστα αρχείων>: <όνομα συνέλευσης>[; <όνομα συνέλευσης>...]
- Πηγή - /win32res:<file> Καθορίζει αρχεία πόρων Win32 (.res) /res[ource]:<info> Ενσωμάτωση του καθορισμένου πόρου <info>: <filename>[,<name>[,δημόσιο|ιδιωτικό]] /linkres[ource]:<info> Συνδέει τον καθορισμένο πόρο με αυτήν τη συγκρότηση <info>: <filename>[,<name>[,δημόσιο|ιδιωτικό]]
- Δημιουργία κώδικα - /debug[+|-] για να εκδώσετε ένα μήνυμα εντοπισμού σφαλμάτων /fast[+|-] απενεργοποιεί τις δυνατότητες γλώσσας για να βελτιώσει τη δημιουργία κώδικα /warnaserror[+|-] αντιμετωπίζει την προειδοποίηση ως σφάλμα /w[arn]:<level> Ρυθμίστε το επίπεδο προειδοποίησης (0-4)
- Διάφορα - @<filename> Για περισσότερες επιλογές, διαβάστε το αρχείο απάντησης /? Εμφάνιση βοήθειας /help δείχνει βοήθεια /d[efine]:<symbols> Ορίζει σύμβολα μεταγλώττισης υπό συνθήκη /nologo δεν εμφανίζει το σήμα πνευματικών δικαιωμάτων του μεταγλωττιστή /print[+|-] παρέχει τη συνάρτηση print()
- Προηγμένη - /codepage:<id> Ανοίξτε το αρχείο προέλευσης με το καθορισμένο αναγνωριστικό κωδικοσελίδας /lcid:<id> Χρησιμοποιήστε το καθορισμένο LCID για μηνύματα και προεπιλεγμένες κωδικοσελίδες Το /nostdlib[+|-] δεν εισάγει την τυπική βιβλιοθήκη (mscorlib.dll) και αλλάζει την προεπιλογή autoref σε off /utf8output[+|-] εκπέμπει έξοδο μεταγλωττιστή σε κωδικοποίηση χαρακτήρων UTF-8 /versionsafe[+|-] καθορίζει μια προεπιλεγμένη τιμή για μέλη που δεν επισημαίνονται ως "παράκαμψη" ή "απόκρυψη" (Τέλος)
|